/*
 * (C) 2007-2012 Alibaba Group Holding Limited.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: notify.proto

package com.taobao.gecko.service.notify;

public final class NotifyProtos {
    private NotifyProtos() {
    }


    public static void registerAllExtensions(final com.google.protobuf.ExtensionRegistry registry) {
    }

    public static final class MapEntry extends com.google.protobuf.GeneratedMessage {
        // Use MapEntry.newBuilder() to construct.
        private MapEntry() {
            this.initFields();
        }


        private MapEntry(final boolean noInit) {
        }

        private static final MapEntry defaultInstance;


        public static MapEntry getDefaultInstance() {
            return defaultInstance;
        }


        public MapEntry getDefaultInstanceForType() {
            return defaultInstance;
        }


        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_MapEntry_descriptor;
        }


        @Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_MapEntry_fieldAccessorTable;
        }

        // required string key = 1;
        public static final int KEY_FIELD_NUMBER = 1;
        private boolean hasKey;
        private java.lang.String key_ = "";


        public boolean hasKey() {
            return this.hasKey;
        }


        public java.lang.String getKey() {
            return this.key_;
        }

        // optional string value = 2;
        public static final int VALUE_FIELD_NUMBER = 2;
        private boolean hasValue;
        private java.lang.String value_ = "";


        public boolean hasValue() {
            return this.hasValue;
        }


        public java.lang.String getValue() {
            return this.value_;
        }


        private void initFields() {
        }


        @Override
        public final boolean isInitialized() {
            if (!this.hasKey) {
                return false;
            }
            return true;
        }


        @Override
        public void writeTo(final com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            this.getSerializedSize();
            if (this.hasKey()) {
                output.writeString(1, this.getKey());
            }
            if (this.hasValue()) {
                output.writeString(2, this.getValue());
            }
            this.getUnknownFields().writeTo(output);
        }

        private int memoizedSerializedSize = -1;


        @Override
        public int getSerializedSize() {
            int size = this.memoizedSerializedSize;
            if (size != -1) {
                return size;
            }

            size = 0;
            if (this.hasKey()) {
                size += com.google.protobuf.CodedOutputStream.computeStringSize(1, this.getKey());
            }
            if (this.hasValue()) {
                size += com.google.protobuf.CodedOutputStream.computeStringSize(2, this.getValue());
            }
            size += this.getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = size;
            return size;
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MapEntry parseFrom(
                final com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MapEntry parseFrom(
                final com.google.protobuf.ByteString data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MapEntry parseFrom(final byte[] data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MapEntry parseFrom(final byte[] data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MapEntry parseFrom(final java.io.InputStream input)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MapEntry parseFrom(final java.io.InputStream input,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MapEntry parseDelimitedFrom(
                final java.io.InputStream input) throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MapEntry parseDelimitedFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MapEntry parseFrom(
                final com.google.protobuf.CodedInputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MapEntry parseFrom(
                final com.google.protobuf.CodedInputStream input,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static Builder newBuilder() {
            return Builder.create();
        }


        public Builder newBuilderForType() {
            return newBuilder();
        }


        public static Builder newBuilder(final com.taobao.gecko.service.notify.NotifyProtos.MapEntry prototype) {
            return newBuilder().mergeFrom(prototype);
        }


        public Builder toBuilder() {
            return newBuilder(this);
        }

        public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder> {
            private com.taobao.gecko.service.notify.NotifyProtos.MapEntry result;


            // Construct using
            // com.taobao.gecko.service.notify.NotifyProtos.MapEntry.newBuilder()
            private Builder() {
            }


            private static Builder create() {
                final Builder builder = new Builder();
                builder.result = new com.taobao.gecko.service.notify.NotifyProtos.MapEntry();
                return builder;
            }


            @Override
            protected com.taobao.gecko.service.notify.NotifyProtos.MapEntry internalGetResult() {
                return this.result;
            }


            @Override
            public Builder clear() {
                if (this.result == null) {
                    throw new IllegalStateException("Cannot call clear() after build().");
                }
                this.result = new com.taobao.gecko.service.notify.NotifyProtos.MapEntry();
                return this;
            }


            @Override
            public Builder clone() {
                return create().mergeFrom(this.result);
            }


            @Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.MapEntry.getDescriptor();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MapEntry getDefaultInstanceForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.MapEntry.getDefaultInstance();
            }


            @Override
            public boolean isInitialized() {
                return this.result.isInitialized();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MapEntry build() {
                if (this.result != null && !this.isInitialized()) {
                    throw newUninitializedMessageException(this.result);
                }
                return this.buildPartial();
            }


            private com.taobao.gecko.service.notify.NotifyProtos.MapEntry buildParsed()
                    throws com.google.protobuf.InvalidProtocolBufferException {
                if (!this.isInitialized()) {
                    throw newUninitializedMessageException(this.result).asInvalidProtocolBufferException();
                }
                return this.buildPartial();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MapEntry buildPartial() {
                if (this.result == null) {
                    throw new IllegalStateException("build() has already been called on this Builder.");
                }
                final com.taobao.gecko.service.notify.NotifyProtos.MapEntry returnMe = this.result;
                this.result = null;
                return returnMe;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.Message other) {
                if (other instanceof com.taobao.gecko.service.notify.NotifyProtos.MapEntry) {
                    return this.mergeFrom((com.taobao.gecko.service.notify.NotifyProtos.MapEntry) other);
                }
                else {
                    super.mergeFrom(other);
                    return this;
                }
            }


            public Builder mergeFrom(final com.taobao.gecko.service.notify.NotifyProtos.MapEntry other) {
                if (other == com.taobao.gecko.service.notify.NotifyProtos.MapEntry.getDefaultInstance()) {
                    return this;
                }
                if (other.hasKey()) {
                    this.setKey(other.getKey());
                }
                if (other.hasValue()) {
                    this.setValue(other.getValue());
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.CodedInputStream input,
                    final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
                final com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                        com.google.protobuf.UnknownFieldSet.newBuilder(this.getUnknownFields());
                while (true) {
                    final int tag = input.readTag();
                    switch (tag) {
                    case 0:
                        this.setUnknownFields(unknownFields.build());
                        return this;
                    default: {
                        if (!this.parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                            this.setUnknownFields(unknownFields.build());
                            return this;
                        }
                        break;
                    }
                    case 10: {
                        this.setKey(input.readString());
                        break;
                    }
                    case 18: {
                        this.setValue(input.readString());
                        break;
                    }
                    }
                }
            }


            // required string key = 1;
            public boolean hasKey() {
                return this.result.hasKey();
            }


            public java.lang.String getKey() {
                return this.result.getKey();
            }


            public Builder setKey(final java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasKey = true;
                this.result.key_ = value;
                return this;
            }


            public Builder clearKey() {
                this.result.hasKey = false;
                this.result.key_ = getDefaultInstance().getKey();
                return this;
            }


            // optional string value = 2;
            public boolean hasValue() {
                return this.result.hasValue();
            }


            public java.lang.String getValue() {
                return this.result.getValue();
            }


            public Builder setValue(final java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasValue = true;
                this.result.value_ = value;
                return this;
            }


            public Builder clearValue() {
                this.result.hasValue = false;
                this.result.value_ = getDefaultInstance().getValue();
                return this;
            }

            // @@protoc_insertion_point(builder_scope:notify.MapEntry)
        }

        static {
            defaultInstance = new MapEntry(true);
            com.taobao.gecko.service.notify.NotifyProtos.internalForceInit();
            defaultInstance.initFields();
        }

        // @@protoc_insertion_point(class_scope:notify.MapEntry)
    }

    public static final class ErrorMesssage extends com.google.protobuf.GeneratedMessage {
        // Use ErrorMesssage.newBuilder() to construct.
        private ErrorMesssage() {
            this.initFields();
        }


        private ErrorMesssage(final boolean noInit) {
        }

        private static final ErrorMesssage defaultInstance;


        public static ErrorMesssage getDefaultInstance() {
            return defaultInstance;
        }


        public ErrorMesssage getDefaultInstanceForType() {
            return defaultInstance;
        }


        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_ErrorMesssage_descriptor;
        }


        @Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_ErrorMesssage_fieldAccessorTable;
        }

        // required string errorMessage = 1;
        public static final int ERRORMESSAGE_FIELD_NUMBER = 1;
        private boolean hasErrorMessage;
        private java.lang.String errorMessage_ = "";


        public boolean hasErrorMessage() {
            return this.hasErrorMessage;
        }


        public java.lang.String getErrorMessage() {
            return this.errorMessage_;
        }


        private void initFields() {
        }


        @Override
        public final boolean isInitialized() {
            if (!this.hasErrorMessage) {
                return false;
            }
            return true;
        }


        @Override
        public void writeTo(final com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            this.getSerializedSize();
            if (this.hasErrorMessage()) {
                output.writeString(1, this.getErrorMessage());
            }
            this.getUnknownFields().writeTo(output);
        }

        private int memoizedSerializedSize = -1;


        @Override
        public int getSerializedSize() {
            int size = this.memoizedSerializedSize;
            if (size != -1) {
                return size;
            }

            size = 0;
            if (this.hasErrorMessage()) {
                size += com.google.protobuf.CodedOutputStream.computeStringSize(1, this.getErrorMessage());
            }
            size += this.getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = size;
            return size;
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage parseFrom(
                final com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage parseFrom(
                final com.google.protobuf.ByteString data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage parseFrom(final byte[] data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage parseFrom(final byte[] data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage parseFrom(
                final java.io.InputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage parseFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage parseDelimitedFrom(
                final java.io.InputStream input) throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage parseDelimitedFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage parseFrom(
                final com.google.protobuf.CodedInputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage parseFrom(
                final com.google.protobuf.CodedInputStream input,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static Builder newBuilder() {
            return Builder.create();
        }


        public Builder newBuilderForType() {
            return newBuilder();
        }


        public static Builder newBuilder(final com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage prototype) {
            return newBuilder().mergeFrom(prototype);
        }


        public Builder toBuilder() {
            return newBuilder(this);
        }

        public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder> {
            private com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage result;


            // Construct using
            // com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage.newBuilder()
            private Builder() {
            }


            private static Builder create() {
                final Builder builder = new Builder();
                builder.result = new com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage();
                return builder;
            }


            @Override
            protected com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage internalGetResult() {
                return this.result;
            }


            @Override
            public Builder clear() {
                if (this.result == null) {
                    throw new IllegalStateException("Cannot call clear() after build().");
                }
                this.result = new com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage();
                return this;
            }


            @Override
            public Builder clone() {
                return create().mergeFrom(this.result);
            }


            @Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage.getDescriptor();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage getDefaultInstanceForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage.getDefaultInstance();
            }


            @Override
            public boolean isInitialized() {
                return this.result.isInitialized();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage build() {
                if (this.result != null && !this.isInitialized()) {
                    throw newUninitializedMessageException(this.result);
                }
                return this.buildPartial();
            }


            private com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage buildParsed()
                    throws com.google.protobuf.InvalidProtocolBufferException {
                if (!this.isInitialized()) {
                    throw newUninitializedMessageException(this.result).asInvalidProtocolBufferException();
                }
                return this.buildPartial();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage buildPartial() {
                if (this.result == null) {
                    throw new IllegalStateException("build() has already been called on this Builder.");
                }
                final com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage returnMe = this.result;
                this.result = null;
                return returnMe;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.Message other) {
                if (other instanceof com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage) {
                    return this.mergeFrom((com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage) other);
                }
                else {
                    super.mergeFrom(other);
                    return this;
                }
            }


            public Builder mergeFrom(final com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage other) {
                if (other == com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage.getDefaultInstance()) {
                    return this;
                }
                if (other.hasErrorMessage()) {
                    this.setErrorMessage(other.getErrorMessage());
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.CodedInputStream input,
                    final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
                final com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                        com.google.protobuf.UnknownFieldSet.newBuilder(this.getUnknownFields());
                while (true) {
                    final int tag = input.readTag();
                    switch (tag) {
                    case 0:
                        this.setUnknownFields(unknownFields.build());
                        return this;
                    default: {
                        if (!this.parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                            this.setUnknownFields(unknownFields.build());
                            return this;
                        }
                        break;
                    }
                    case 10: {
                        this.setErrorMessage(input.readString());
                        break;
                    }
                    }
                }
            }


            // required string errorMessage = 1;
            public boolean hasErrorMessage() {
                return this.result.hasErrorMessage();
            }


            public java.lang.String getErrorMessage() {
                return this.result.getErrorMessage();
            }


            public Builder setErrorMessage(final java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasErrorMessage = true;
                this.result.errorMessage_ = value;
                return this;
            }


            public Builder clearErrorMessage() {
                this.result.hasErrorMessage = false;
                this.result.errorMessage_ = getDefaultInstance().getErrorMessage();
                return this;
            }

            // @@protoc_insertion_point(builder_scope:notify.ErrorMesssage)
        }

        static {
            defaultInstance = new ErrorMesssage(true);
            com.taobao.gecko.service.notify.NotifyProtos.internalForceInit();
            defaultInstance.initFields();
        }

        // @@protoc_insertion_point(class_scope:notify.ErrorMesssage)
    }

    public static final class MessageHeader extends com.google.protobuf.GeneratedMessage {
        // Use MessageHeader.newBuilder() to construct.
        private MessageHeader() {
            this.initFields();
        }


        private MessageHeader(final boolean noInit) {
        }

        private static final MessageHeader defaultInstance;


        public static MessageHeader getDefaultInstance() {
            return defaultInstance;
        }


        public MessageHeader getDefaultInstanceForType() {
            return defaultInstance;
        }


        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_MessageHeader_descriptor;
        }


        @Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_MessageHeader_fieldAccessorTable;
        }

        // required bytes id = 1;
        public static final int ID_FIELD_NUMBER = 1;
        private boolean hasId;
        private com.google.protobuf.ByteString id_ = com.google.protobuf.ByteString.EMPTY;


        public boolean hasId() {
            return this.hasId;
        }


        public com.google.protobuf.ByteString getId() {
            return this.id_;
        }

        // required int32 flag = 2;
        public static final int FLAG_FIELD_NUMBER = 2;
        private boolean hasFlag;
        private int flag_ = 0;


        public boolean hasFlag() {
            return this.hasFlag;
        }


        public int getFlag() {
            return this.flag_;
        }

        // required string topic = 3;
        public static final int TOPIC_FIELD_NUMBER = 3;
        private boolean hasTopic;
        private java.lang.String topic_ = "";


        public boolean hasTopic() {
            return this.hasTopic;
        }


        public java.lang.String getTopic() {
            return this.topic_;
        }

        // required string messageType = 4;
        public static final int MESSAGETYPE_FIELD_NUMBER = 4;
        private boolean hasMessageType;
        private java.lang.String messageType_ = "";


        public boolean hasMessageType() {
            return this.hasMessageType;
        }


        public java.lang.String getMessageType() {
            return this.messageType_;
        }

        // required string groupId = 5;
        public static final int GROUPID_FIELD_NUMBER = 5;
        private boolean hasGroupId;
        private java.lang.String groupId_ = "";


        public boolean hasGroupId() {
            return this.hasGroupId;
        }


        public java.lang.String getGroupId() {
            return this.groupId_;
        }

        // required bool committed = 6;
        public static final int COMMITTED_FIELD_NUMBER = 6;
        private boolean hasCommitted;
        private boolean committed_ = false;


        public boolean hasCommitted() {
            return this.hasCommitted;
        }


        public boolean getCommitted() {
            return this.committed_;
        }

        // required uint64 bornTime = 7;
        public static final int BORNTIME_FIELD_NUMBER = 7;
        private boolean hasBornTime;
        private long bornTime_ = 0L;


        public boolean hasBornTime() {
            return this.hasBornTime;
        }


        public long getBornTime() {
            return this.bornTime_;
        }

        // required int32 priority = 8;
        public static final int PRIORITY_FIELD_NUMBER = 8;
        private boolean hasPriority;
        private int priority_ = 0;


        public boolean hasPriority() {
            return this.hasPriority;
        }


        public int getPriority() {
            return this.priority_;
        }

        // optional int32 deliveryCount = 9;
        public static final int DELIVERYCOUNT_FIELD_NUMBER = 9;
        private boolean hasDeliveryCount;
        private int deliveryCount_ = 0;


        public boolean hasDeliveryCount() {
            return this.hasDeliveryCount;
        }


        public int getDeliveryCount() {
            return this.deliveryCount_;
        }

        // optional int32 version = 10;
        public static final int VERSION_FIELD_NUMBER = 10;
        private boolean hasVersion;
        private int version_ = 0;


        public boolean hasVersion() {
            return this.hasVersion;
        }


        public int getVersion() {
            return this.version_;
        }

        // optional int32 timeToLive = 11;
        public static final int TIMETOLIVE_FIELD_NUMBER = 11;
        private boolean hasTimeToLive;
        private int timeToLive_ = 0;


        public boolean hasTimeToLive() {
            return this.hasTimeToLive;
        }


        public int getTimeToLive() {
            return this.timeToLive_;
        }

        // optional int32 dlqTime = 12;
        public static final int DLQTIME_FIELD_NUMBER = 12;
        private boolean hasDlqTime;
        private int dlqTime_ = 0;


        public boolean hasDlqTime() {
            return this.hasDlqTime;
        }


        public int getDlqTime() {
            return this.dlqTime_;
        }

        // optional int32 postTimeout = 13;
        public static final int POSTTIMEOUT_FIELD_NUMBER = 13;
        private boolean hasPostTimeout;
        private int postTimeout_ = 0;


        public boolean hasPostTimeout() {
            return this.hasPostTimeout;
        }


        public int getPostTimeout() {
            return this.postTimeout_;
        }

        // optional uint64 postDelayTime = 14;
        public static final int POSTDELAYTIME_FIELD_NUMBER = 14;
        private boolean hasPostDelayTime;
        private long postDelayTime_ = 0L;


        public boolean hasPostDelayTime() {
            return this.hasPostDelayTime;
        }


        public long getPostDelayTime() {
            return this.postDelayTime_;
        }

        // optional uint64 GMTCreated = 15;
        public static final int GMTCREATED_FIELD_NUMBER = 15;
        private boolean hasGMTCreated;
        private long gMTCreated_ = 0L;


        public boolean hasGMTCreated() {
            return this.hasGMTCreated;
        }


        public long getGMTCreated() {
            return this.gMTCreated_;
        }

        // optional uint64 GMTLastDelivery = 16;
        public static final int GMTLASTDELIVERY_FIELD_NUMBER = 16;
        private boolean hasGMTLastDelivery;
        private long gMTLastDelivery_ = 0L;


        public boolean hasGMTLastDelivery() {
            return this.hasGMTLastDelivery;
        }


        public long getGMTLastDelivery() {
            return this.gMTLastDelivery_;
        }

        // optional string publisherHostName = 17;
        public static final int PUBLISHERHOSTNAME_FIELD_NUMBER = 17;
        private boolean hasPublisherHostName;
        private java.lang.String publisherHostName_ = "";


        public boolean hasPublisherHostName() {
            return this.hasPublisherHostName;
        }


        public java.lang.String getPublisherHostName() {
            return this.publisherHostName_;
        }

        // optional string targetGroup = 18;
        public static final int TARGETGROUP_FIELD_NUMBER = 18;
        private boolean hasTargetGroup;
        private java.lang.String targetGroup_ = "";


        public boolean hasTargetGroup() {
            return this.hasTargetGroup;
        }


        public java.lang.String getTargetGroup() {
            return this.targetGroup_;
        }

        // repeated .notify.MapEntry userDefinedProperties = 19;
        public static final int USERDEFINEDPROPERTIES_FIELD_NUMBER = 19;
        private java.util.List<com.taobao.gecko.service.notify.NotifyProtos.MapEntry> userDefinedProperties_ =
                java.util.Collections.emptyList();


        public java.util.List<com.taobao.gecko.service.notify.NotifyProtos.MapEntry> getUserDefinedPropertiesList() {
            return this.userDefinedProperties_;
        }


        public int getUserDefinedPropertiesCount() {
            return this.userDefinedProperties_.size();
        }


        public com.taobao.gecko.service.notify.NotifyProtos.MapEntry getUserDefinedProperties(final int index) {
            return this.userDefinedProperties_.get(index);
        }

        // optional string replyToTopic = 20;
        public static final int REPLYTOTOPIC_FIELD_NUMBER = 20;
        private boolean hasReplyToTopic;
        private java.lang.String replyToTopic_ = "";


        public boolean hasReplyToTopic() {
            return this.hasReplyToTopic;
        }


        public java.lang.String getReplyToTopic() {
            return this.replyToTopic_;
        }

        // optional string replyToMessageType = 21;
        public static final int REPLYTOMESSAGETYPE_FIELD_NUMBER = 21;
        private boolean hasReplyToMessageType;
        private java.lang.String replyToMessageType_ = "";


        public boolean hasReplyToMessageType() {
            return this.hasReplyToMessageType;
        }


        public java.lang.String getReplyToMessageType() {
            return this.replyToMessageType_;
        }

        // optional uint64 replyId = 22;
        public static final int REPLYID_FIELD_NUMBER = 22;
        private boolean hasReplyId;
        private long replyId_ = 0L;


        public boolean hasReplyId() {
            return this.hasReplyId;
        }


        public long getReplyId() {
            return this.replyId_;
        }

        // optional string replyWhenDelivered = 23;
        public static final int REPLYWHENDELIVERED_FIELD_NUMBER = 23;
        private boolean hasReplyWhenDelivered;
        private java.lang.String replyWhenDelivered_ = "";


        public boolean hasReplyWhenDelivered() {
            return this.hasReplyWhenDelivered;
        }


        public java.lang.String getReplyWhenDelivered() {
            return this.replyWhenDelivered_;
        }


        private void initFields() {
        }


        @Override
        public final boolean isInitialized() {
            if (!this.hasId) {
                return false;
            }
            if (!this.hasFlag) {
                return false;
            }
            if (!this.hasTopic) {
                return false;
            }
            if (!this.hasMessageType) {
                return false;
            }
            if (!this.hasGroupId) {
                return false;
            }
            if (!this.hasCommitted) {
                return false;
            }
            if (!this.hasBornTime) {
                return false;
            }
            if (!this.hasPriority) {
                return false;
            }
            for (final com.taobao.gecko.service.notify.NotifyProtos.MapEntry element : this
                .getUserDefinedPropertiesList()) {
                if (!element.isInitialized()) {
                    return false;
                }
            }
            return true;
        }


        @Override
        public void writeTo(final com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            this.getSerializedSize();
            if (this.hasId()) {
                output.writeBytes(1, this.getId());
            }
            if (this.hasFlag()) {
                output.writeInt32(2, this.getFlag());
            }
            if (this.hasTopic()) {
                output.writeString(3, this.getTopic());
            }
            if (this.hasMessageType()) {
                output.writeString(4, this.getMessageType());
            }
            if (this.hasGroupId()) {
                output.writeString(5, this.getGroupId());
            }
            if (this.hasCommitted()) {
                output.writeBool(6, this.getCommitted());
            }
            if (this.hasBornTime()) {
                output.writeUInt64(7, this.getBornTime());
            }
            if (this.hasPriority()) {
                output.writeInt32(8, this.getPriority());
            }
            if (this.hasDeliveryCount()) {
                output.writeInt32(9, this.getDeliveryCount());
            }
            if (this.hasVersion()) {
                output.writeInt32(10, this.getVersion());
            }
            if (this.hasTimeToLive()) {
                output.writeInt32(11, this.getTimeToLive());
            }
            if (this.hasDlqTime()) {
                output.writeInt32(12, this.getDlqTime());
            }
            if (this.hasPostTimeout()) {
                output.writeInt32(13, this.getPostTimeout());
            }
            if (this.hasPostDelayTime()) {
                output.writeUInt64(14, this.getPostDelayTime());
            }
            if (this.hasGMTCreated()) {
                output.writeUInt64(15, this.getGMTCreated());
            }
            if (this.hasGMTLastDelivery()) {
                output.writeUInt64(16, this.getGMTLastDelivery());
            }
            if (this.hasPublisherHostName()) {
                output.writeString(17, this.getPublisherHostName());
            }
            if (this.hasTargetGroup()) {
                output.writeString(18, this.getTargetGroup());
            }
            for (final com.taobao.gecko.service.notify.NotifyProtos.MapEntry element : this
                .getUserDefinedPropertiesList()) {
                output.writeMessage(19, element);
            }
            if (this.hasReplyToTopic()) {
                output.writeString(20, this.getReplyToTopic());
            }
            if (this.hasReplyToMessageType()) {
                output.writeString(21, this.getReplyToMessageType());
            }
            if (this.hasReplyId()) {
                output.writeUInt64(22, this.getReplyId());
            }
            if (this.hasReplyWhenDelivered()) {
                output.writeString(23, this.getReplyWhenDelivered());
            }
            this.getUnknownFields().writeTo(output);
        }

        private int memoizedSerializedSize = -1;


        @Override
        public int getSerializedSize() {
            int size = this.memoizedSerializedSize;
            if (size != -1) {
                return size;
            }

            size = 0;
            if (this.hasId()) {
                size += com.google.protobuf.CodedOutputStream.computeBytesSize(1, this.getId());
            }
            if (this.hasFlag()) {
                size += com.google.protobuf.CodedOutputStream.computeInt32Size(2, this.getFlag());
            }
            if (this.hasTopic()) {
                size += com.google.protobuf.CodedOutputStream.computeStringSize(3, this.getTopic());
            }
            if (this.hasMessageType()) {
                size += com.google.protobuf.CodedOutputStream.computeStringSize(4, this.getMessageType());
            }
            if (this.hasGroupId()) {
                size += com.google.protobuf.CodedOutputStream.computeStringSize(5, this.getGroupId());
            }
            if (this.hasCommitted()) {
                size += com.google.protobuf.CodedOutputStream.computeBoolSize(6, this.getCommitted());
            }
            if (this.hasBornTime()) {
                size += com.google.protobuf.CodedOutputStream.computeUInt64Size(7, this.getBornTime());
            }
            if (this.hasPriority()) {
                size += com.google.protobuf.CodedOutputStream.computeInt32Size(8, this.getPriority());
            }
            if (this.hasDeliveryCount()) {
                size += com.google.protobuf.CodedOutputStream.computeInt32Size(9, this.getDeliveryCount());
            }
            if (this.hasVersion()) {
                size += com.google.protobuf.CodedOutputStream.computeInt32Size(10, this.getVersion());
            }
            if (this.hasTimeToLive()) {
                size += com.google.protobuf.CodedOutputStream.computeInt32Size(11, this.getTimeToLive());
            }
            if (this.hasDlqTime()) {
                size += com.google.protobuf.CodedOutputStream.computeInt32Size(12, this.getDlqTime());
            }
            if (this.hasPostTimeout()) {
                size += com.google.protobuf.CodedOutputStream.computeInt32Size(13, this.getPostTimeout());
            }
            if (this.hasPostDelayTime()) {
                size += com.google.protobuf.CodedOutputStream.computeUInt64Size(14, this.getPostDelayTime());
            }
            if (this.hasGMTCreated()) {
                size += com.google.protobuf.CodedOutputStream.computeUInt64Size(15, this.getGMTCreated());
            }
            if (this.hasGMTLastDelivery()) {
                size += com.google.protobuf.CodedOutputStream.computeUInt64Size(16, this.getGMTLastDelivery());
            }
            if (this.hasPublisherHostName()) {
                size += com.google.protobuf.CodedOutputStream.computeStringSize(17, this.getPublisherHostName());
            }
            if (this.hasTargetGroup()) {
                size += com.google.protobuf.CodedOutputStream.computeStringSize(18, this.getTargetGroup());
            }
            for (final com.taobao.gecko.service.notify.NotifyProtos.MapEntry element : this
                .getUserDefinedPropertiesList()) {
                size += com.google.protobuf.CodedOutputStream.computeMessageSize(19, element);
            }
            if (this.hasReplyToTopic()) {
                size += com.google.protobuf.CodedOutputStream.computeStringSize(20, this.getReplyToTopic());
            }
            if (this.hasReplyToMessageType()) {
                size += com.google.protobuf.CodedOutputStream.computeStringSize(21, this.getReplyToMessageType());
            }
            if (this.hasReplyId()) {
                size += com.google.protobuf.CodedOutputStream.computeUInt64Size(22, this.getReplyId());
            }
            if (this.hasReplyWhenDelivered()) {
                size += com.google.protobuf.CodedOutputStream.computeStringSize(23, this.getReplyWhenDelivered());
            }
            size += this.getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = size;
            return size;
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageHeader parseFrom(
                final com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageHeader parseFrom(
                final com.google.protobuf.ByteString data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageHeader parseFrom(final byte[] data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageHeader parseFrom(final byte[] data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageHeader parseFrom(
                final java.io.InputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageHeader parseFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageHeader parseDelimitedFrom(
                final java.io.InputStream input) throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageHeader parseDelimitedFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageHeader parseFrom(
                final com.google.protobuf.CodedInputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageHeader parseFrom(
                final com.google.protobuf.CodedInputStream input,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static Builder newBuilder() {
            return Builder.create();
        }


        public Builder newBuilderForType() {
            return newBuilder();
        }


        public static Builder newBuilder(final com.taobao.gecko.service.notify.NotifyProtos.MessageHeader prototype) {
            return newBuilder().mergeFrom(prototype);
        }


        public Builder toBuilder() {
            return newBuilder(this);
        }

        public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder> {
            private com.taobao.gecko.service.notify.NotifyProtos.MessageHeader result;


            // Construct using
            // com.taobao.gecko.service.notify.NotifyProtos.MessageHeader.newBuilder()
            private Builder() {
            }


            private static Builder create() {
                final Builder builder = new Builder();
                builder.result = new com.taobao.gecko.service.notify.NotifyProtos.MessageHeader();
                return builder;
            }


            @Override
            protected com.taobao.gecko.service.notify.NotifyProtos.MessageHeader internalGetResult() {
                return this.result;
            }


            @Override
            public Builder clear() {
                if (this.result == null) {
                    throw new IllegalStateException("Cannot call clear() after build().");
                }
                this.result = new com.taobao.gecko.service.notify.NotifyProtos.MessageHeader();
                return this;
            }


            @Override
            public Builder clone() {
                return create().mergeFrom(this.result);
            }


            @Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.MessageHeader.getDescriptor();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageHeader getDefaultInstanceForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.MessageHeader.getDefaultInstance();
            }


            @Override
            public boolean isInitialized() {
                return this.result.isInitialized();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageHeader build() {
                if (this.result != null && !this.isInitialized()) {
                    throw newUninitializedMessageException(this.result);
                }
                return this.buildPartial();
            }


            private com.taobao.gecko.service.notify.NotifyProtos.MessageHeader buildParsed()
                    throws com.google.protobuf.InvalidProtocolBufferException {
                if (!this.isInitialized()) {
                    throw newUninitializedMessageException(this.result).asInvalidProtocolBufferException();
                }
                return this.buildPartial();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageHeader buildPartial() {
                if (this.result == null) {
                    throw new IllegalStateException("build() has already been called on this Builder.");
                }
                if (this.result.userDefinedProperties_ != java.util.Collections.EMPTY_LIST) {
                    this.result.userDefinedProperties_ =
                            java.util.Collections.unmodifiableList(this.result.userDefinedProperties_);
                }
                final com.taobao.gecko.service.notify.NotifyProtos.MessageHeader returnMe = this.result;
                this.result = null;
                return returnMe;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.Message other) {
                if (other instanceof com.taobao.gecko.service.notify.NotifyProtos.MessageHeader) {
                    return this.mergeFrom((com.taobao.gecko.service.notify.NotifyProtos.MessageHeader) other);
                }
                else {
                    super.mergeFrom(other);
                    return this;
                }
            }


            public Builder mergeFrom(final com.taobao.gecko.service.notify.NotifyProtos.MessageHeader other) {
                if (other == com.taobao.gecko.service.notify.NotifyProtos.MessageHeader.getDefaultInstance()) {
                    return this;
                }
                if (other.hasId()) {
                    this.setId(other.getId());
                }
                if (other.hasFlag()) {
                    this.setFlag(other.getFlag());
                }
                if (other.hasTopic()) {
                    this.setTopic(other.getTopic());
                }
                if (other.hasMessageType()) {
                    this.setMessageType(other.getMessageType());
                }
                if (other.hasGroupId()) {
                    this.setGroupId(other.getGroupId());
                }
                if (other.hasCommitted()) {
                    this.setCommitted(other.getCommitted());
                }
                if (other.hasBornTime()) {
                    this.setBornTime(other.getBornTime());
                }
                if (other.hasPriority()) {
                    this.setPriority(other.getPriority());
                }
                if (other.hasDeliveryCount()) {
                    this.setDeliveryCount(other.getDeliveryCount());
                }
                if (other.hasVersion()) {
                    this.setVersion(other.getVersion());
                }
                if (other.hasTimeToLive()) {
                    this.setTimeToLive(other.getTimeToLive());
                }
                if (other.hasDlqTime()) {
                    this.setDlqTime(other.getDlqTime());
                }
                if (other.hasPostTimeout()) {
                    this.setPostTimeout(other.getPostTimeout());
                }
                if (other.hasPostDelayTime()) {
                    this.setPostDelayTime(other.getPostDelayTime());
                }
                if (other.hasGMTCreated()) {
                    this.setGMTCreated(other.getGMTCreated());
                }
                if (other.hasGMTLastDelivery()) {
                    this.setGMTLastDelivery(other.getGMTLastDelivery());
                }
                if (other.hasPublisherHostName()) {
                    this.setPublisherHostName(other.getPublisherHostName());
                }
                if (other.hasTargetGroup()) {
                    this.setTargetGroup(other.getTargetGroup());
                }
                if (!other.userDefinedProperties_.isEmpty()) {
                    if (this.result.userDefinedProperties_.isEmpty()) {
                        this.result.userDefinedProperties_ =
                                new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MapEntry>();
                    }
                    this.result.userDefinedProperties_.addAll(other.userDefinedProperties_);
                }
                if (other.hasReplyToTopic()) {
                    this.setReplyToTopic(other.getReplyToTopic());
                }
                if (other.hasReplyToMessageType()) {
                    this.setReplyToMessageType(other.getReplyToMessageType());
                }
                if (other.hasReplyId()) {
                    this.setReplyId(other.getReplyId());
                }
                if (other.hasReplyWhenDelivered()) {
                    this.setReplyWhenDelivered(other.getReplyWhenDelivered());
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.CodedInputStream input,
                    final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
                final com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                        com.google.protobuf.UnknownFieldSet.newBuilder(this.getUnknownFields());
                while (true) {
                    final int tag = input.readTag();
                    switch (tag) {
                    case 0:
                        this.setUnknownFields(unknownFields.build());
                        return this;
                    default: {
                        if (!this.parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                            this.setUnknownFields(unknownFields.build());
                            return this;
                        }
                        break;
                    }
                    case 10: {
                        this.setId(input.readBytes());
                        break;
                    }
                    case 16: {
                        this.setFlag(input.readInt32());
                        break;
                    }
                    case 26: {
                        this.setTopic(input.readString());
                        break;
                    }
                    case 34: {
                        this.setMessageType(input.readString());
                        break;
                    }
                    case 42: {
                        this.setGroupId(input.readString());
                        break;
                    }
                    case 48: {
                        this.setCommitted(input.readBool());
                        break;
                    }
                    case 56: {
                        this.setBornTime(input.readUInt64());
                        break;
                    }
                    case 64: {
                        this.setPriority(input.readInt32());
                        break;
                    }
                    case 72: {
                        this.setDeliveryCount(input.readInt32());
                        break;
                    }
                    case 80: {
                        this.setVersion(input.readInt32());
                        break;
                    }
                    case 88: {
                        this.setTimeToLive(input.readInt32());
                        break;
                    }
                    case 96: {
                        this.setDlqTime(input.readInt32());
                        break;
                    }
                    case 104: {
                        this.setPostTimeout(input.readInt32());
                        break;
                    }
                    case 112: {
                        this.setPostDelayTime(input.readUInt64());
                        break;
                    }
                    case 120: {
                        this.setGMTCreated(input.readUInt64());
                        break;
                    }
                    case 128: {
                        this.setGMTLastDelivery(input.readUInt64());
                        break;
                    }
                    case 138: {
                        this.setPublisherHostName(input.readString());
                        break;
                    }
                    case 146: {
                        this.setTargetGroup(input.readString());
                        break;
                    }
                    case 154: {
                        final com.taobao.gecko.service.notify.NotifyProtos.MapEntry.Builder subBuilder =
                                com.taobao.gecko.service.notify.NotifyProtos.MapEntry.newBuilder();
                        input.readMessage(subBuilder, extensionRegistry);
                        this.addUserDefinedProperties(subBuilder.buildPartial());
                        break;
                    }
                    case 162: {
                        this.setReplyToTopic(input.readString());
                        break;
                    }
                    case 170: {
                        this.setReplyToMessageType(input.readString());
                        break;
                    }
                    case 176: {
                        this.setReplyId(input.readUInt64());
                        break;
                    }
                    case 186: {
                        this.setReplyWhenDelivered(input.readString());
                        break;
                    }
                    }
                }
            }


            // required bytes id = 1;
            public boolean hasId() {
                return this.result.hasId();
            }


            public com.google.protobuf.ByteString getId() {
                return this.result.getId();
            }


            public Builder setId(final com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasId = true;
                this.result.id_ = value;
                return this;
            }


            public Builder clearId() {
                this.result.hasId = false;
                this.result.id_ = getDefaultInstance().getId();
                return this;
            }


            // required int32 flag = 2;
            public boolean hasFlag() {
                return this.result.hasFlag();
            }


            public int getFlag() {
                return this.result.getFlag();
            }


            public Builder setFlag(final int value) {
                this.result.hasFlag = true;
                this.result.flag_ = value;
                return this;
            }


            public Builder clearFlag() {
                this.result.hasFlag = false;
                this.result.flag_ = 0;
                return this;
            }


            // required string topic = 3;
            public boolean hasTopic() {
                return this.result.hasTopic();
            }


            public java.lang.String getTopic() {
                return this.result.getTopic();
            }


            public Builder setTopic(final java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasTopic = true;
                this.result.topic_ = value;
                return this;
            }


            public Builder clearTopic() {
                this.result.hasTopic = false;
                this.result.topic_ = getDefaultInstance().getTopic();
                return this;
            }


            // required string messageType = 4;
            public boolean hasMessageType() {
                return this.result.hasMessageType();
            }


            public java.lang.String getMessageType() {
                return this.result.getMessageType();
            }


            public Builder setMessageType(final java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasMessageType = true;
                this.result.messageType_ = value;
                return this;
            }


            public Builder clearMessageType() {
                this.result.hasMessageType = false;
                this.result.messageType_ = getDefaultInstance().getMessageType();
                return this;
            }


            // required string groupId = 5;
            public boolean hasGroupId() {
                return this.result.hasGroupId();
            }


            public java.lang.String getGroupId() {
                return this.result.getGroupId();
            }


            public Builder setGroupId(final java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasGroupId = true;
                this.result.groupId_ = value;
                return this;
            }


            public Builder clearGroupId() {
                this.result.hasGroupId = false;
                this.result.groupId_ = getDefaultInstance().getGroupId();
                return this;
            }


            // required bool committed = 6;
            public boolean hasCommitted() {
                return this.result.hasCommitted();
            }


            public boolean getCommitted() {
                return this.result.getCommitted();
            }


            public Builder setCommitted(final boolean value) {
                this.result.hasCommitted = true;
                this.result.committed_ = value;
                return this;
            }


            public Builder clearCommitted() {
                this.result.hasCommitted = false;
                this.result.committed_ = false;
                return this;
            }


            // required uint64 bornTime = 7;
            public boolean hasBornTime() {
                return this.result.hasBornTime();
            }


            public long getBornTime() {
                return this.result.getBornTime();
            }


            public Builder setBornTime(final long value) {
                this.result.hasBornTime = true;
                this.result.bornTime_ = value;
                return this;
            }


            public Builder clearBornTime() {
                this.result.hasBornTime = false;
                this.result.bornTime_ = 0L;
                return this;
            }


            // required int32 priority = 8;
            public boolean hasPriority() {
                return this.result.hasPriority();
            }


            public int getPriority() {
                return this.result.getPriority();
            }


            public Builder setPriority(final int value) {
                this.result.hasPriority = true;
                this.result.priority_ = value;
                return this;
            }


            public Builder clearPriority() {
                this.result.hasPriority = false;
                this.result.priority_ = 0;
                return this;
            }


            // optional int32 deliveryCount = 9;
            public boolean hasDeliveryCount() {
                return this.result.hasDeliveryCount();
            }


            public int getDeliveryCount() {
                return this.result.getDeliveryCount();
            }


            public Builder setDeliveryCount(final int value) {
                this.result.hasDeliveryCount = true;
                this.result.deliveryCount_ = value;
                return this;
            }


            public Builder clearDeliveryCount() {
                this.result.hasDeliveryCount = false;
                this.result.deliveryCount_ = 0;
                return this;
            }


            // optional int32 version = 10;
            public boolean hasVersion() {
                return this.result.hasVersion();
            }


            public int getVersion() {
                return this.result.getVersion();
            }


            public Builder setVersion(final int value) {
                this.result.hasVersion = true;
                this.result.version_ = value;
                return this;
            }


            public Builder clearVersion() {
                this.result.hasVersion = false;
                this.result.version_ = 0;
                return this;
            }


            // optional int32 timeToLive = 11;
            public boolean hasTimeToLive() {
                return this.result.hasTimeToLive();
            }


            public int getTimeToLive() {
                return this.result.getTimeToLive();
            }


            public Builder setTimeToLive(final int value) {
                this.result.hasTimeToLive = true;
                this.result.timeToLive_ = value;
                return this;
            }


            public Builder clearTimeToLive() {
                this.result.hasTimeToLive = false;
                this.result.timeToLive_ = 0;
                return this;
            }


            // optional int32 dlqTime = 12;
            public boolean hasDlqTime() {
                return this.result.hasDlqTime();
            }


            public int getDlqTime() {
                return this.result.getDlqTime();
            }


            public Builder setDlqTime(final int value) {
                this.result.hasDlqTime = true;
                this.result.dlqTime_ = value;
                return this;
            }


            public Builder clearDlqTime() {
                this.result.hasDlqTime = false;
                this.result.dlqTime_ = 0;
                return this;
            }


            // optional int32 postTimeout = 13;
            public boolean hasPostTimeout() {
                return this.result.hasPostTimeout();
            }


            public int getPostTimeout() {
                return this.result.getPostTimeout();
            }


            public Builder setPostTimeout(final int value) {
                this.result.hasPostTimeout = true;
                this.result.postTimeout_ = value;
                return this;
            }


            public Builder clearPostTimeout() {
                this.result.hasPostTimeout = false;
                this.result.postTimeout_ = 0;
                return this;
            }


            // optional uint64 postDelayTime = 14;
            public boolean hasPostDelayTime() {
                return this.result.hasPostDelayTime();
            }


            public long getPostDelayTime() {
                return this.result.getPostDelayTime();
            }


            public Builder setPostDelayTime(final long value) {
                this.result.hasPostDelayTime = true;
                this.result.postDelayTime_ = value;
                return this;
            }


            public Builder clearPostDelayTime() {
                this.result.hasPostDelayTime = false;
                this.result.postDelayTime_ = 0L;
                return this;
            }


            // optional uint64 GMTCreated = 15;
            public boolean hasGMTCreated() {
                return this.result.hasGMTCreated();
            }


            public long getGMTCreated() {
                return this.result.getGMTCreated();
            }


            public Builder setGMTCreated(final long value) {
                this.result.hasGMTCreated = true;
                this.result.gMTCreated_ = value;
                return this;
            }


            public Builder clearGMTCreated() {
                this.result.hasGMTCreated = false;
                this.result.gMTCreated_ = 0L;
                return this;
            }


            // optional uint64 GMTLastDelivery = 16;
            public boolean hasGMTLastDelivery() {
                return this.result.hasGMTLastDelivery();
            }


            public long getGMTLastDelivery() {
                return this.result.getGMTLastDelivery();
            }


            public Builder setGMTLastDelivery(final long value) {
                this.result.hasGMTLastDelivery = true;
                this.result.gMTLastDelivery_ = value;
                return this;
            }


            public Builder clearGMTLastDelivery() {
                this.result.hasGMTLastDelivery = false;
                this.result.gMTLastDelivery_ = 0L;
                return this;
            }


            // optional string publisherHostName = 17;
            public boolean hasPublisherHostName() {
                return this.result.hasPublisherHostName();
            }


            public java.lang.String getPublisherHostName() {
                return this.result.getPublisherHostName();
            }


            public Builder setPublisherHostName(final java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasPublisherHostName = true;
                this.result.publisherHostName_ = value;
                return this;
            }


            public Builder clearPublisherHostName() {
                this.result.hasPublisherHostName = false;
                this.result.publisherHostName_ = getDefaultInstance().getPublisherHostName();
                return this;
            }


            // optional string targetGroup = 18;
            public boolean hasTargetGroup() {
                return this.result.hasTargetGroup();
            }


            public java.lang.String getTargetGroup() {
                return this.result.getTargetGroup();
            }


            public Builder setTargetGroup(final java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasTargetGroup = true;
                this.result.targetGroup_ = value;
                return this;
            }


            public Builder clearTargetGroup() {
                this.result.hasTargetGroup = false;
                this.result.targetGroup_ = getDefaultInstance().getTargetGroup();
                return this;
            }


            // repeated .notify.MapEntry userDefinedProperties = 19;
            public java.util.List<com.taobao.gecko.service.notify.NotifyProtos.MapEntry> getUserDefinedPropertiesList() {
                return java.util.Collections.unmodifiableList(this.result.userDefinedProperties_);
            }


            public int getUserDefinedPropertiesCount() {
                return this.result.getUserDefinedPropertiesCount();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MapEntry getUserDefinedProperties(final int index) {
                return this.result.getUserDefinedProperties(index);
            }


            public Builder setUserDefinedProperties(final int index,
                    final com.taobao.gecko.service.notify.NotifyProtos.MapEntry value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.userDefinedProperties_.set(index, value);
                return this;
            }


            public Builder setUserDefinedProperties(final int index,
                    final com.taobao.gecko.service.notify.NotifyProtos.MapEntry.Builder builderForValue) {
                this.result.userDefinedProperties_.set(index, builderForValue.build());
                return this;
            }


            public Builder addUserDefinedProperties(final com.taobao.gecko.service.notify.NotifyProtos.MapEntry value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                if (this.result.userDefinedProperties_.isEmpty()) {
                    this.result.userDefinedProperties_ =
                            new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MapEntry>();
                }
                this.result.userDefinedProperties_.add(value);
                return this;
            }


            public Builder addUserDefinedProperties(
                    final com.taobao.gecko.service.notify.NotifyProtos.MapEntry.Builder builderForValue) {
                if (this.result.userDefinedProperties_.isEmpty()) {
                    this.result.userDefinedProperties_ =
                            new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MapEntry>();
                }
                this.result.userDefinedProperties_.add(builderForValue.build());
                return this;
            }


            public Builder addAllUserDefinedProperties(
                    final java.lang.Iterable<? extends com.taobao.gecko.service.notify.NotifyProtos.MapEntry> values) {
                if (this.result.userDefinedProperties_.isEmpty()) {
                    this.result.userDefinedProperties_ =
                            new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MapEntry>();
                }
                super.addAll(values, this.result.userDefinedProperties_);
                return this;
            }


            public Builder clearUserDefinedProperties() {
                this.result.userDefinedProperties_ = java.util.Collections.emptyList();
                return this;
            }


            // optional string replyToTopic = 20;
            public boolean hasReplyToTopic() {
                return this.result.hasReplyToTopic();
            }


            public java.lang.String getReplyToTopic() {
                return this.result.getReplyToTopic();
            }


            public Builder setReplyToTopic(final java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasReplyToTopic = true;
                this.result.replyToTopic_ = value;
                return this;
            }


            public Builder clearReplyToTopic() {
                this.result.hasReplyToTopic = false;
                this.result.replyToTopic_ = getDefaultInstance().getReplyToTopic();
                return this;
            }


            // optional string replyToMessageType = 21;
            public boolean hasReplyToMessageType() {
                return this.result.hasReplyToMessageType();
            }


            public java.lang.String getReplyToMessageType() {
                return this.result.getReplyToMessageType();
            }


            public Builder setReplyToMessageType(final java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasReplyToMessageType = true;
                this.result.replyToMessageType_ = value;
                return this;
            }


            public Builder clearReplyToMessageType() {
                this.result.hasReplyToMessageType = false;
                this.result.replyToMessageType_ = getDefaultInstance().getReplyToMessageType();
                return this;
            }


            // optional uint64 replyId = 22;
            public boolean hasReplyId() {
                return this.result.hasReplyId();
            }


            public long getReplyId() {
                return this.result.getReplyId();
            }


            public Builder setReplyId(final long value) {
                this.result.hasReplyId = true;
                this.result.replyId_ = value;
                return this;
            }


            public Builder clearReplyId() {
                this.result.hasReplyId = false;
                this.result.replyId_ = 0L;
                return this;
            }


            // optional string replyWhenDelivered = 23;
            public boolean hasReplyWhenDelivered() {
                return this.result.hasReplyWhenDelivered();
            }


            public java.lang.String getReplyWhenDelivered() {
                return this.result.getReplyWhenDelivered();
            }


            public Builder setReplyWhenDelivered(final java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasReplyWhenDelivered = true;
                this.result.replyWhenDelivered_ = value;
                return this;
            }


            public Builder clearReplyWhenDelivered() {
                this.result.hasReplyWhenDelivered = false;
                this.result.replyWhenDelivered_ = getDefaultInstance().getReplyWhenDelivered();
                return this;
            }

            // @@protoc_insertion_point(builder_scope:notify.MessageHeader)
        }

        static {
            defaultInstance = new MessageHeader(true);
            com.taobao.gecko.service.notify.NotifyProtos.internalForceInit();
            defaultInstance.initFields();
        }

        // @@protoc_insertion_point(class_scope:notify.MessageHeader)
    }

    public static final class MetaDataBody extends com.google.protobuf.GeneratedMessage {
        // Use MetaDataBody.newBuilder() to construct.
        private MetaDataBody() {
            this.initFields();
        }


        private MetaDataBody(final boolean noInit) {
        }

        private static final MetaDataBody defaultInstance;


        public static MetaDataBody getDefaultInstance() {
            return defaultInstance;
        }


        public MetaDataBody getDefaultInstanceForType() {
            return defaultInstance;
        }


        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_MetaDataBody_descriptor;
        }


        @Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_MetaDataBody_fieldAccessorTable;
        }

        public static final class ClientInfo extends com.google.protobuf.GeneratedMessage {
            // Use ClientInfo.newBuilder() to construct.
            private ClientInfo() {
                this.initFields();
            }


            private ClientInfo(final boolean noInit) {
            }

            private static final ClientInfo defaultInstance;


            public static ClientInfo getDefaultInstance() {
                return defaultInstance;
            }


            public ClientInfo getDefaultInstanceForType() {
                return defaultInstance;
            }


            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_MetaDataBody_ClientInfo_descriptor;
            }


            @Override
            protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_MetaDataBody_ClientInfo_fieldAccessorTable;
            }

            // required string group = 1;
            public static final int GROUP_FIELD_NUMBER = 1;
            private boolean hasGroup;
            private java.lang.String group_ = "";


            public boolean hasGroup() {
                return this.hasGroup;
            }


            public java.lang.String getGroup() {
                return this.group_;
            }

            // optional string hostName = 2;
            public static final int HOSTNAME_FIELD_NUMBER = 2;
            private boolean hasHostName;
            private java.lang.String hostName_ = "";


            public boolean hasHostName() {
                return this.hasHostName;
            }


            public java.lang.String getHostName() {
                return this.hostName_;
            }

            // optional string name = 3;
            public static final int NAME_FIELD_NUMBER = 3;
            private boolean hasName;
            private java.lang.String name_ = "";


            public boolean hasName() {
                return this.hasName;
            }


            public java.lang.String getName() {
                return this.name_;
            }

            // optional string description = 4;
            public static final int DESCRIPTION_FIELD_NUMBER = 4;
            private boolean hasDescription;
            private java.lang.String description_ = "";


            public boolean hasDescription() {
                return this.hasDescription;
            }


            public java.lang.String getDescription() {
                return this.description_;
            }

            // optional string appName = 5;
            public static final int APPNAME_FIELD_NUMBER = 5;
            private boolean hasAppName;
            private java.lang.String appName_ = "";


            public boolean hasAppName() {
                return this.hasAppName;
            }


            public java.lang.String getAppName() {
                return this.appName_;
            }


            private void initFields() {
            }


            @Override
            public final boolean isInitialized() {
                if (!this.hasGroup) {
                    return false;
                }
                return true;
            }


            @Override
            public void writeTo(final com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
                this.getSerializedSize();
                if (this.hasGroup()) {
                    output.writeString(1, this.getGroup());
                }
                if (this.hasHostName()) {
                    output.writeString(2, this.getHostName());
                }
                if (this.hasName()) {
                    output.writeString(3, this.getName());
                }
                if (this.hasDescription()) {
                    output.writeString(4, this.getDescription());
                }
                if (this.hasAppName()) {
                    output.writeString(5, this.getAppName());
                }
                this.getUnknownFields().writeTo(output);
            }

            private int memoizedSerializedSize = -1;


            @Override
            public int getSerializedSize() {
                int size = this.memoizedSerializedSize;
                if (size != -1) {
                    return size;
                }

                size = 0;
                if (this.hasGroup()) {
                    size += com.google.protobuf.CodedOutputStream.computeStringSize(1, this.getGroup());
                }
                if (this.hasHostName()) {
                    size += com.google.protobuf.CodedOutputStream.computeStringSize(2, this.getHostName());
                }
                if (this.hasName()) {
                    size += com.google.protobuf.CodedOutputStream.computeStringSize(3, this.getName());
                }
                if (this.hasDescription()) {
                    size += com.google.protobuf.CodedOutputStream.computeStringSize(4, this.getDescription());
                }
                if (this.hasAppName()) {
                    size += com.google.protobuf.CodedOutputStream.computeStringSize(5, this.getAppName());
                }
                size += this.getUnknownFields().getSerializedSize();
                this.memoizedSerializedSize = size;
                return size;
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo parseFrom(
                    final com.google.protobuf.ByteString data)
                    throws com.google.protobuf.InvalidProtocolBufferException {
                return newBuilder().mergeFrom(data).buildParsed();
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo parseFrom(
                    final com.google.protobuf.ByteString data,
                    final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws com.google.protobuf.InvalidProtocolBufferException {
                return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo parseFrom(
                    final byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
                return newBuilder().mergeFrom(data).buildParsed();
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo parseFrom(
                    final byte[] data, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws com.google.protobuf.InvalidProtocolBufferException {
                return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo parseFrom(
                    final java.io.InputStream input) throws java.io.IOException {
                return newBuilder().mergeFrom(input).buildParsed();
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo parseFrom(
                    final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws java.io.IOException {
                return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo parseDelimitedFrom(
                    final java.io.InputStream input) throws java.io.IOException {
                final Builder builder = newBuilder();
                if (builder.mergeDelimitedFrom(input)) {
                    return builder.buildParsed();
                }
                else {
                    return null;
                }
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo parseDelimitedFrom(
                    final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws java.io.IOException {
                final Builder builder = newBuilder();
                if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                    return builder.buildParsed();
                }
                else {
                    return null;
                }
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo parseFrom(
                    final com.google.protobuf.CodedInputStream input) throws java.io.IOException {
                return newBuilder().mergeFrom(input).buildParsed();
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo parseFrom(
                    final com.google.protobuf.CodedInputStream input,
                    final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
                return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
            }


            public static Builder newBuilder() {
                return Builder.create();
            }


            public Builder newBuilderForType() {
                return newBuilder();
            }


            public static Builder newBuilder(
                    final com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo prototype) {
                return newBuilder().mergeFrom(prototype);
            }


            public Builder toBuilder() {
                return newBuilder(this);
            }

            public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder> {
                private com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo result;


                // Construct using
                // com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo.newBuilder()
                private Builder() {
                }


                private static Builder create() {
                    final Builder builder = new Builder();
                    builder.result = new com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo();
                    return builder;
                }


                @Override
                protected com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo internalGetResult() {
                    return this.result;
                }


                @Override
                public Builder clear() {
                    if (this.result == null) {
                        throw new IllegalStateException("Cannot call clear() after build().");
                    }
                    this.result = new com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo();
                    return this;
                }


                @Override
                public Builder clone() {
                    return create().mergeFrom(this.result);
                }


                @Override
                public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                    return com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo.getDescriptor();
                }


                public com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo getDefaultInstanceForType() {
                    return com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo.getDefaultInstance();
                }


                @Override
                public boolean isInitialized() {
                    return this.result.isInitialized();
                }


                public com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo build() {
                    if (this.result != null && !this.isInitialized()) {
                        throw newUninitializedMessageException(this.result);
                    }
                    return this.buildPartial();
                }


                private com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo buildParsed()
                        throws com.google.protobuf.InvalidProtocolBufferException {
                    if (!this.isInitialized()) {
                        throw newUninitializedMessageException(this.result).asInvalidProtocolBufferException();
                    }
                    return this.buildPartial();
                }


                public com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo buildPartial() {
                    if (this.result == null) {
                        throw new IllegalStateException("build() has already been called on this Builder.");
                    }
                    final com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo returnMe = this.result;
                    this.result = null;
                    return returnMe;
                }


                @Override
                public Builder mergeFrom(final com.google.protobuf.Message other) {
                    if (other instanceof com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo) {
                        return this
                            .mergeFrom((com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo) other);
                    }
                    else {
                        super.mergeFrom(other);
                        return this;
                    }
                }


                public Builder mergeFrom(
                        final com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo other) {
                    if (other == com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo
                        .getDefaultInstance()) {
                        return this;
                    }
                    if (other.hasGroup()) {
                        this.setGroup(other.getGroup());
                    }
                    if (other.hasHostName()) {
                        this.setHostName(other.getHostName());
                    }
                    if (other.hasName()) {
                        this.setName(other.getName());
                    }
                    if (other.hasDescription()) {
                        this.setDescription(other.getDescription());
                    }
                    if (other.hasAppName()) {
                        this.setAppName(other.getAppName());
                    }
                    this.mergeUnknownFields(other.getUnknownFields());
                    return this;
                }


                @Override
                public Builder mergeFrom(final com.google.protobuf.CodedInputStream input,
                        final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
                    final com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                            com.google.protobuf.UnknownFieldSet.newBuilder(this.getUnknownFields());
                    while (true) {
                        final int tag = input.readTag();
                        switch (tag) {
                        case 0:
                            this.setUnknownFields(unknownFields.build());
                            return this;
                        default: {
                            if (!this.parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                this.setUnknownFields(unknownFields.build());
                                return this;
                            }
                            break;
                        }
                        case 10: {
                            this.setGroup(input.readString());
                            break;
                        }
                        case 18: {
                            this.setHostName(input.readString());
                            break;
                        }
                        case 26: {
                            this.setName(input.readString());
                            break;
                        }
                        case 34: {
                            this.setDescription(input.readString());
                            break;
                        }
                        case 42: {
                            this.setAppName(input.readString());
                            break;
                        }
                        }
                    }
                }


                // required string group = 1;
                public boolean hasGroup() {
                    return this.result.hasGroup();
                }


                public java.lang.String getGroup() {
                    return this.result.getGroup();
                }


                public Builder setGroup(final java.lang.String value) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    this.result.hasGroup = true;
                    this.result.group_ = value;
                    return this;
                }


                public Builder clearGroup() {
                    this.result.hasGroup = false;
                    this.result.group_ = getDefaultInstance().getGroup();
                    return this;
                }


                // optional string hostName = 2;
                public boolean hasHostName() {
                    return this.result.hasHostName();
                }


                public java.lang.String getHostName() {
                    return this.result.getHostName();
                }


                public Builder setHostName(final java.lang.String value) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    this.result.hasHostName = true;
                    this.result.hostName_ = value;
                    return this;
                }


                public Builder clearHostName() {
                    this.result.hasHostName = false;
                    this.result.hostName_ = getDefaultInstance().getHostName();
                    return this;
                }


                // optional string name = 3;
                public boolean hasName() {
                    return this.result.hasName();
                }


                public java.lang.String getName() {
                    return this.result.getName();
                }


                public Builder setName(final java.lang.String value) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    this.result.hasName = true;
                    this.result.name_ = value;
                    return this;
                }


                public Builder clearName() {
                    this.result.hasName = false;
                    this.result.name_ = getDefaultInstance().getName();
                    return this;
                }


                // optional string description = 4;
                public boolean hasDescription() {
                    return this.result.hasDescription();
                }


                public java.lang.String getDescription() {
                    return this.result.getDescription();
                }


                public Builder setDescription(final java.lang.String value) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    this.result.hasDescription = true;
                    this.result.description_ = value;
                    return this;
                }


                public Builder clearDescription() {
                    this.result.hasDescription = false;
                    this.result.description_ = getDefaultInstance().getDescription();
                    return this;
                }


                // optional string appName = 5;
                public boolean hasAppName() {
                    return this.result.hasAppName();
                }


                public java.lang.String getAppName() {
                    return this.result.getAppName();
                }


                public Builder setAppName(final java.lang.String value) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    this.result.hasAppName = true;
                    this.result.appName_ = value;
                    return this;
                }


                public Builder clearAppName() {
                    this.result.hasAppName = false;
                    this.result.appName_ = getDefaultInstance().getAppName();
                    return this;
                }

                // @@protoc_insertion_point(builder_scope:notify.MetaDataBody.ClientInfo)
            }

            static {
                defaultInstance = new ClientInfo(true);
                com.taobao.gecko.service.notify.NotifyProtos.internalForceInit();
                defaultInstance.initFields();
            }

            // @@protoc_insertion_point(class_scope:notify.MetaDataBody.ClientInfo)
        }

        // repeated .notify.MetaDataBody.ClientInfo clientInfoSet = 1;
        public static final int CLIENTINFOSET_FIELD_NUMBER = 1;
        private java.util.List<com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo> clientInfoSet_ =
                java.util.Collections.emptyList();


        public java.util.List<com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo> getClientInfoSetList() {
            return this.clientInfoSet_;
        }


        public int getClientInfoSetCount() {
            return this.clientInfoSet_.size();
        }


        public com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo getClientInfoSet(final int index) {
            return this.clientInfoSet_.get(index);
        }

        // repeated .notify.MapEntry clientBuildInfo = 2;
        public static final int CLIENTBUILDINFO_FIELD_NUMBER = 2;
        private java.util.List<com.taobao.gecko.service.notify.NotifyProtos.MapEntry> clientBuildInfo_ =
                java.util.Collections.emptyList();


        public java.util.List<com.taobao.gecko.service.notify.NotifyProtos.MapEntry> getClientBuildInfoList() {
            return this.clientBuildInfo_;
        }


        public int getClientBuildInfoCount() {
            return this.clientBuildInfo_.size();
        }


        public com.taobao.gecko.service.notify.NotifyProtos.MapEntry getClientBuildInfo(final int index) {
            return this.clientBuildInfo_.get(index);
        }


        private void initFields() {
        }


        @Override
        public final boolean isInitialized() {
            for (final com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo element : this
                .getClientInfoSetList()) {
                if (!element.isInitialized()) {
                    return false;
                }
            }
            for (final com.taobao.gecko.service.notify.NotifyProtos.MapEntry element : this.getClientBuildInfoList()) {
                if (!element.isInitialized()) {
                    return false;
                }
            }
            return true;
        }


        @Override
        public void writeTo(final com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            this.getSerializedSize();
            for (final com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo element : this
                .getClientInfoSetList()) {
                output.writeMessage(1, element);
            }
            for (final com.taobao.gecko.service.notify.NotifyProtos.MapEntry element : this.getClientBuildInfoList()) {
                output.writeMessage(2, element);
            }
            this.getUnknownFields().writeTo(output);
        }

        private int memoizedSerializedSize = -1;


        @Override
        public int getSerializedSize() {
            int size = this.memoizedSerializedSize;
            if (size != -1) {
                return size;
            }

            size = 0;
            for (final com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo element : this
                .getClientInfoSetList()) {
                size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, element);
            }
            for (final com.taobao.gecko.service.notify.NotifyProtos.MapEntry element : this.getClientBuildInfoList()) {
                size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, element);
            }
            size += this.getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = size;
            return size;
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody parseFrom(
                final com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody parseFrom(
                final com.google.protobuf.ByteString data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody parseFrom(final byte[] data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody parseFrom(final byte[] data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody parseFrom(
                final java.io.InputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody parseFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody parseDelimitedFrom(
                final java.io.InputStream input) throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody parseDelimitedFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody parseFrom(
                final com.google.protobuf.CodedInputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody parseFrom(
                final com.google.protobuf.CodedInputStream input,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static Builder newBuilder() {
            return Builder.create();
        }


        public Builder newBuilderForType() {
            return newBuilder();
        }


        public static Builder newBuilder(final com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody prototype) {
            return newBuilder().mergeFrom(prototype);
        }


        public Builder toBuilder() {
            return newBuilder(this);
        }

        public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder> {
            private com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody result;


            // Construct using
            // com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.newBuilder()
            private Builder() {
            }


            private static Builder create() {
                final Builder builder = new Builder();
                builder.result = new com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody();
                return builder;
            }


            @Override
            protected com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody internalGetResult() {
                return this.result;
            }


            @Override
            public Builder clear() {
                if (this.result == null) {
                    throw new IllegalStateException("Cannot call clear() after build().");
                }
                this.result = new com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody();
                return this;
            }


            @Override
            public Builder clone() {
                return create().mergeFrom(this.result);
            }


            @Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.getDescriptor();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody getDefaultInstanceForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.getDefaultInstance();
            }


            @Override
            public boolean isInitialized() {
                return this.result.isInitialized();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody build() {
                if (this.result != null && !this.isInitialized()) {
                    throw newUninitializedMessageException(this.result);
                }
                return this.buildPartial();
            }


            private com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody buildParsed()
                    throws com.google.protobuf.InvalidProtocolBufferException {
                if (!this.isInitialized()) {
                    throw newUninitializedMessageException(this.result).asInvalidProtocolBufferException();
                }
                return this.buildPartial();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody buildPartial() {
                if (this.result == null) {
                    throw new IllegalStateException("build() has already been called on this Builder.");
                }
                if (this.result.clientInfoSet_ != java.util.Collections.EMPTY_LIST) {
                    this.result.clientInfoSet_ = java.util.Collections.unmodifiableList(this.result.clientInfoSet_);
                }
                if (this.result.clientBuildInfo_ != java.util.Collections.EMPTY_LIST) {
                    this.result.clientBuildInfo_ = java.util.Collections.unmodifiableList(this.result.clientBuildInfo_);
                }
                final com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody returnMe = this.result;
                this.result = null;
                return returnMe;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.Message other) {
                if (other instanceof com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody) {
                    return this.mergeFrom((com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody) other);
                }
                else {
                    super.mergeFrom(other);
                    return this;
                }
            }


            public Builder mergeFrom(final com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody other) {
                if (other == com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.getDefaultInstance()) {
                    return this;
                }
                if (!other.clientInfoSet_.isEmpty()) {
                    if (this.result.clientInfoSet_.isEmpty()) {
                        this.result.clientInfoSet_ =
                                new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo>();
                    }
                    this.result.clientInfoSet_.addAll(other.clientInfoSet_);
                }
                if (!other.clientBuildInfo_.isEmpty()) {
                    if (this.result.clientBuildInfo_.isEmpty()) {
                        this.result.clientBuildInfo_ =
                                new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MapEntry>();
                    }
                    this.result.clientBuildInfo_.addAll(other.clientBuildInfo_);
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.CodedInputStream input,
                    final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
                final com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                        com.google.protobuf.UnknownFieldSet.newBuilder(this.getUnknownFields());
                while (true) {
                    final int tag = input.readTag();
                    switch (tag) {
                    case 0:
                        this.setUnknownFields(unknownFields.build());
                        return this;
                    default: {
                        if (!this.parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                            this.setUnknownFields(unknownFields.build());
                            return this;
                        }
                        break;
                    }
                    case 10: {
                        final com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo.Builder subBuilder =
                                com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo.newBuilder();
                        input.readMessage(subBuilder, extensionRegistry);
                        this.addClientInfoSet(subBuilder.buildPartial());
                        break;
                    }
                    case 18: {
                        final com.taobao.gecko.service.notify.NotifyProtos.MapEntry.Builder subBuilder =
                                com.taobao.gecko.service.notify.NotifyProtos.MapEntry.newBuilder();
                        input.readMessage(subBuilder, extensionRegistry);
                        this.addClientBuildInfo(subBuilder.buildPartial());
                        break;
                    }
                    }
                }
            }


            // repeated .notify.MetaDataBody.ClientInfo clientInfoSet = 1;
            public java.util.List<com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo> getClientInfoSetList() {
                return java.util.Collections.unmodifiableList(this.result.clientInfoSet_);
            }


            public int getClientInfoSetCount() {
                return this.result.getClientInfoSetCount();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo getClientInfoSet(final int index) {
                return this.result.getClientInfoSet(index);
            }


            public Builder setClientInfoSet(final int index,
                    final com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.clientInfoSet_.set(index, value);
                return this;
            }


            public Builder setClientInfoSet(final int index,
                    final com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo.Builder builderForValue) {
                this.result.clientInfoSet_.set(index, builderForValue.build());
                return this;
            }


            public Builder addClientInfoSet(
                    final com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                if (this.result.clientInfoSet_.isEmpty()) {
                    this.result.clientInfoSet_ =
                            new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo>();
                }
                this.result.clientInfoSet_.add(value);
                return this;
            }


            public Builder addClientInfoSet(
                    final com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo.Builder builderForValue) {
                if (this.result.clientInfoSet_.isEmpty()) {
                    this.result.clientInfoSet_ =
                            new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo>();
                }
                this.result.clientInfoSet_.add(builderForValue.build());
                return this;
            }


            public Builder addAllClientInfoSet(
                    final java.lang.Iterable<? extends com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo> values) {
                if (this.result.clientInfoSet_.isEmpty()) {
                    this.result.clientInfoSet_ =
                            new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo>();
                }
                super.addAll(values, this.result.clientInfoSet_);
                return this;
            }


            public Builder clearClientInfoSet() {
                this.result.clientInfoSet_ = java.util.Collections.emptyList();
                return this;
            }


            // repeated .notify.MapEntry clientBuildInfo = 2;
            public java.util.List<com.taobao.gecko.service.notify.NotifyProtos.MapEntry> getClientBuildInfoList() {
                return java.util.Collections.unmodifiableList(this.result.clientBuildInfo_);
            }


            public int getClientBuildInfoCount() {
                return this.result.getClientBuildInfoCount();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MapEntry getClientBuildInfo(final int index) {
                return this.result.getClientBuildInfo(index);
            }


            public Builder setClientBuildInfo(final int index,
                    final com.taobao.gecko.service.notify.NotifyProtos.MapEntry value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.clientBuildInfo_.set(index, value);
                return this;
            }


            public Builder setClientBuildInfo(final int index,
                    final com.taobao.gecko.service.notify.NotifyProtos.MapEntry.Builder builderForValue) {
                this.result.clientBuildInfo_.set(index, builderForValue.build());
                return this;
            }


            public Builder addClientBuildInfo(final com.taobao.gecko.service.notify.NotifyProtos.MapEntry value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                if (this.result.clientBuildInfo_.isEmpty()) {
                    this.result.clientBuildInfo_ =
                            new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MapEntry>();
                }
                this.result.clientBuildInfo_.add(value);
                return this;
            }


            public Builder addClientBuildInfo(
                    final com.taobao.gecko.service.notify.NotifyProtos.MapEntry.Builder builderForValue) {
                if (this.result.clientBuildInfo_.isEmpty()) {
                    this.result.clientBuildInfo_ =
                            new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MapEntry>();
                }
                this.result.clientBuildInfo_.add(builderForValue.build());
                return this;
            }


            public Builder addAllClientBuildInfo(
                    final java.lang.Iterable<? extends com.taobao.gecko.service.notify.NotifyProtos.MapEntry> values) {
                if (this.result.clientBuildInfo_.isEmpty()) {
                    this.result.clientBuildInfo_ =
                            new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MapEntry>();
                }
                super.addAll(values, this.result.clientBuildInfo_);
                return this;
            }


            public Builder clearClientBuildInfo() {
                this.result.clientBuildInfo_ = java.util.Collections.emptyList();
                return this;
            }

            // @@protoc_insertion_point(builder_scope:notify.MetaDataBody)
        }

        static {
            defaultInstance = new MetaDataBody(true);
            com.taobao.gecko.service.notify.NotifyProtos.internalForceInit();
            defaultInstance.initFields();
        }

        // @@protoc_insertion_point(class_scope:notify.MetaDataBody)
    }

    public static final class MessageCommitRollbackHeader extends com.google.protobuf.GeneratedMessage {
        // Use MessageCommitRollbackHeader.newBuilder() to construct.
        private MessageCommitRollbackHeader() {
            this.initFields();
        }


        private MessageCommitRollbackHeader(final boolean noInit) {
        }

        private static final MessageCommitRollbackHeader defaultInstance;


        public static MessageCommitRollbackHeader getDefaultInstance() {
            return defaultInstance;
        }


        public MessageCommitRollbackHeader getDefaultInstanceForType() {
            return defaultInstance;
        }


        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_MessageCommitRollbackHeader_descriptor;
        }


        @Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_MessageCommitRollbackHeader_fieldAccessorTable;
        }

        public enum Status implements com.google.protobuf.ProtocolMessageEnum {
            COMMITTED(0, 1),
            ROLLBACK(1, 2),
            NOACTION(2, 3), ;

            public final int getNumber() {
                return this.value;
            }


            public static Status valueOf(final int value) {
                switch (value) {
                case 1:
                    return COMMITTED;
                case 2:
                    return ROLLBACK;
                case 3:
                    return NOACTION;
                default:
                    return null;
                }
            }


            public static com.google.protobuf.Internal.EnumLiteMap<Status> internalGetValueMap() {
                return internalValueMap;
            }

            private static com.google.protobuf.Internal.EnumLiteMap<Status> internalValueMap =
                    new com.google.protobuf.Internal.EnumLiteMap<Status>() {
                        public Status findValueByNumber(final int number) {
                            return Status.valueOf(number);
                        }
                    };


            public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
                return getDescriptor().getValues().get(this.index);
            }


            public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
                return getDescriptor();
            }


            public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
                return com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader.getDescriptor()
                    .getEnumTypes().get(0);
            }

            private static final Status[] VALUES = { COMMITTED, ROLLBACK, NOACTION, };


            public static Status valueOf(final com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
                if (desc.getType() != getDescriptor()) {
                    throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
                }
                return VALUES[desc.getIndex()];
            }

            private final int index;
            private final int value;


            private Status(final int index, final int value) {
                this.index = index;
                this.value = value;
            }

            static {
                com.taobao.gecko.service.notify.NotifyProtos.getDescriptor();
            }

            // @@protoc_insertion_point(enum_scope:notify.MessageCommitRollbackHeader.Status)
        }

        // required bytes messageId = 1;
        public static final int MESSAGEID_FIELD_NUMBER = 1;
        private boolean hasMessageId;
        private com.google.protobuf.ByteString messageId_ = com.google.protobuf.ByteString.EMPTY;


        public boolean hasMessageId() {
            return this.hasMessageId;
        }


        public com.google.protobuf.ByteString getMessageId() {
            return this.messageId_;
        }

        // required bool committed = 2;
        public static final int COMMITTED_FIELD_NUMBER = 2;
        private boolean hasCommitted;
        private boolean committed_ = false;


        public boolean hasCommitted() {
            return this.hasCommitted;
        }


        public boolean getCommitted() {
            return this.committed_;
        }

        // optional bytes serverData = 3;
        public static final int SERVERDATA_FIELD_NUMBER = 3;
        private boolean hasServerData;
        private com.google.protobuf.ByteString serverData_ = com.google.protobuf.ByteString.EMPTY;


        public boolean hasServerData() {
            return this.hasServerData;
        }


        public com.google.protobuf.ByteString getServerData() {
            return this.serverData_;
        }

        // optional uint64 postDelayTime = 4;
        public static final int POSTDELAYTIME_FIELD_NUMBER = 4;
        private boolean hasPostDelayTime;
        private long postDelayTime_ = 0L;


        public boolean hasPostDelayTime() {
            return this.hasPostDelayTime;
        }


        public long getPostDelayTime() {
            return this.postDelayTime_;
        }

        // optional .notify.MessageCommitRollbackHeader.Status status = 5;
        public static final int STATUS_FIELD_NUMBER = 5;
        private boolean hasStatus;
        private com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader.Status status_;


        public boolean hasStatus() {
            return this.hasStatus;
        }


        public com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader.Status getStatus() {
            return this.status_;
        }


        private void initFields() {
            this.status_ = com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader.Status.COMMITTED;
        }


        @Override
        public final boolean isInitialized() {
            if (!this.hasMessageId) {
                return false;
            }
            if (!this.hasCommitted) {
                return false;
            }
            return true;
        }


        @Override
        public void writeTo(final com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            this.getSerializedSize();
            if (this.hasMessageId()) {
                output.writeBytes(1, this.getMessageId());
            }
            if (this.hasCommitted()) {
                output.writeBool(2, this.getCommitted());
            }
            if (this.hasServerData()) {
                output.writeBytes(3, this.getServerData());
            }
            if (this.hasPostDelayTime()) {
                output.writeUInt64(4, this.getPostDelayTime());
            }
            if (this.hasStatus()) {
                output.writeEnum(5, this.getStatus().getNumber());
            }
            this.getUnknownFields().writeTo(output);
        }

        private int memoizedSerializedSize = -1;


        @Override
        public int getSerializedSize() {
            int size = this.memoizedSerializedSize;
            if (size != -1) {
                return size;
            }

            size = 0;
            if (this.hasMessageId()) {
                size += com.google.protobuf.CodedOutputStream.computeBytesSize(1, this.getMessageId());
            }
            if (this.hasCommitted()) {
                size += com.google.protobuf.CodedOutputStream.computeBoolSize(2, this.getCommitted());
            }
            if (this.hasServerData()) {
                size += com.google.protobuf.CodedOutputStream.computeBytesSize(3, this.getServerData());
            }
            if (this.hasPostDelayTime()) {
                size += com.google.protobuf.CodedOutputStream.computeUInt64Size(4, this.getPostDelayTime());
            }
            if (this.hasStatus()) {
                size += com.google.protobuf.CodedOutputStream.computeEnumSize(5, this.getStatus().getNumber());
            }
            size += this.getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = size;
            return size;
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader parseFrom(
                final com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader parseFrom(
                final com.google.protobuf.ByteString data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader parseFrom(
                final byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader parseFrom(
                final byte[] data, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader parseFrom(
                final java.io.InputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader parseFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader parseDelimitedFrom(
                final java.io.InputStream input) throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader parseDelimitedFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader parseFrom(
                final com.google.protobuf.CodedInputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader parseFrom(
                final com.google.protobuf.CodedInputStream input,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static Builder newBuilder() {
            return Builder.create();
        }


        public Builder newBuilderForType() {
            return newBuilder();
        }


        public static Builder newBuilder(
                final com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader prototype) {
            return newBuilder().mergeFrom(prototype);
        }


        public Builder toBuilder() {
            return newBuilder(this);
        }

        public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder> {
            private com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader result;


            // Construct using
            // com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader.newBuilder()
            private Builder() {
            }


            private static Builder create() {
                final Builder builder = new Builder();
                builder.result = new com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader();
                return builder;
            }


            @Override
            protected com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader internalGetResult() {
                return this.result;
            }


            @Override
            public Builder clear() {
                if (this.result == null) {
                    throw new IllegalStateException("Cannot call clear() after build().");
                }
                this.result = new com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader();
                return this;
            }


            @Override
            public Builder clone() {
                return create().mergeFrom(this.result);
            }


            @Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader.getDescriptor();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader getDefaultInstanceForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader.getDefaultInstance();
            }


            @Override
            public boolean isInitialized() {
                return this.result.isInitialized();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader build() {
                if (this.result != null && !this.isInitialized()) {
                    throw newUninitializedMessageException(this.result);
                }
                return this.buildPartial();
            }


            private com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader buildParsed()
                    throws com.google.protobuf.InvalidProtocolBufferException {
                if (!this.isInitialized()) {
                    throw newUninitializedMessageException(this.result).asInvalidProtocolBufferException();
                }
                return this.buildPartial();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader buildPartial() {
                if (this.result == null) {
                    throw new IllegalStateException("build() has already been called on this Builder.");
                }
                final com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader returnMe = this.result;
                this.result = null;
                return returnMe;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.Message other) {
                if (other instanceof com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader) {
                    return this
                        .mergeFrom((com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader) other);
                }
                else {
                    super.mergeFrom(other);
                    return this;
                }
            }


            public Builder mergeFrom(
                    final com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader other) {
                if (other == com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader
                    .getDefaultInstance()) {
                    return this;
                }
                if (other.hasMessageId()) {
                    this.setMessageId(other.getMessageId());
                }
                if (other.hasCommitted()) {
                    this.setCommitted(other.getCommitted());
                }
                if (other.hasServerData()) {
                    this.setServerData(other.getServerData());
                }
                if (other.hasPostDelayTime()) {
                    this.setPostDelayTime(other.getPostDelayTime());
                }
                if (other.hasStatus()) {
                    this.setStatus(other.getStatus());
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.CodedInputStream input,
                    final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
                final com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                        com.google.protobuf.UnknownFieldSet.newBuilder(this.getUnknownFields());
                while (true) {
                    final int tag = input.readTag();
                    switch (tag) {
                    case 0:
                        this.setUnknownFields(unknownFields.build());
                        return this;
                    default: {
                        if (!this.parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                            this.setUnknownFields(unknownFields.build());
                            return this;
                        }
                        break;
                    }
                    case 10: {
                        this.setMessageId(input.readBytes());
                        break;
                    }
                    case 16: {
                        this.setCommitted(input.readBool());
                        break;
                    }
                    case 26: {
                        this.setServerData(input.readBytes());
                        break;
                    }
                    case 32: {
                        this.setPostDelayTime(input.readUInt64());
                        break;
                    }
                    case 40: {
                        final int rawValue = input.readEnum();
                        final com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader.Status value =
                                com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader.Status
                                    .valueOf(rawValue);
                        if (value == null) {
                            unknownFields.mergeVarintField(5, rawValue);
                        }
                        else {
                            this.setStatus(value);
                        }
                        break;
                    }
                    }
                }
            }


            // required bytes messageId = 1;
            public boolean hasMessageId() {
                return this.result.hasMessageId();
            }


            public com.google.protobuf.ByteString getMessageId() {
                return this.result.getMessageId();
            }


            public Builder setMessageId(final com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasMessageId = true;
                this.result.messageId_ = value;
                return this;
            }


            public Builder clearMessageId() {
                this.result.hasMessageId = false;
                this.result.messageId_ = getDefaultInstance().getMessageId();
                return this;
            }


            // required bool committed = 2;
            public boolean hasCommitted() {
                return this.result.hasCommitted();
            }


            public boolean getCommitted() {
                return this.result.getCommitted();
            }


            public Builder setCommitted(final boolean value) {
                this.result.hasCommitted = true;
                this.result.committed_ = value;
                return this;
            }


            public Builder clearCommitted() {
                this.result.hasCommitted = false;
                this.result.committed_ = false;
                return this;
            }


            // optional bytes serverData = 3;
            public boolean hasServerData() {
                return this.result.hasServerData();
            }


            public com.google.protobuf.ByteString getServerData() {
                return this.result.getServerData();
            }


            public Builder setServerData(final com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasServerData = true;
                this.result.serverData_ = value;
                return this;
            }


            public Builder clearServerData() {
                this.result.hasServerData = false;
                this.result.serverData_ = getDefaultInstance().getServerData();
                return this;
            }


            // optional uint64 postDelayTime = 4;
            public boolean hasPostDelayTime() {
                return this.result.hasPostDelayTime();
            }


            public long getPostDelayTime() {
                return this.result.getPostDelayTime();
            }


            public Builder setPostDelayTime(final long value) {
                this.result.hasPostDelayTime = true;
                this.result.postDelayTime_ = value;
                return this;
            }


            public Builder clearPostDelayTime() {
                this.result.hasPostDelayTime = false;
                this.result.postDelayTime_ = 0L;
                return this;
            }


            // optional .notify.MessageCommitRollbackHeader.Status status = 5;
            public boolean hasStatus() {
                return this.result.hasStatus();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader.Status getStatus() {
                return this.result.getStatus();
            }


            public Builder setStatus(
                    final com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader.Status value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasStatus = true;
                this.result.status_ = value;
                return this;
            }


            public Builder clearStatus() {
                this.result.hasStatus = false;
                this.result.status_ =
                        com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader.Status.COMMITTED;
                return this;
            }

            // @@protoc_insertion_point(builder_scope:notify.MessageCommitRollbackHeader)
        }

        static {
            defaultInstance = new MessageCommitRollbackHeader(true);
            com.taobao.gecko.service.notify.NotifyProtos.internalForceInit();
            defaultInstance.initFields();
        }

        // @@protoc_insertion_point(class_scope:notify.MessageCommitRollbackHeader)
    }

    public static final class CheckMessageHeader extends com.google.protobuf.GeneratedMessage {
        // Use CheckMessageHeader.newBuilder() to construct.
        private CheckMessageHeader() {
            this.initFields();
        }


        private CheckMessageHeader(final boolean noInit) {
        }

        private static final CheckMessageHeader defaultInstance;


        public static CheckMessageHeader getDefaultInstance() {
            return defaultInstance;
        }


        public CheckMessageHeader getDefaultInstanceForType() {
            return defaultInstance;
        }


        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_CheckMessageHeader_descriptor;
        }


        @Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_CheckMessageHeader_fieldAccessorTable;
        }

        // required .notify.MessageHeader messageHeader = 1;
        public static final int MESSAGEHEADER_FIELD_NUMBER = 1;
        private boolean hasMessageHeader;
        private com.taobao.gecko.service.notify.NotifyProtos.MessageHeader messageHeader_;


        public boolean hasMessageHeader() {
            return this.hasMessageHeader;
        }


        public com.taobao.gecko.service.notify.NotifyProtos.MessageHeader getMessageHeader() {
            return this.messageHeader_;
        }

        // optional bytes serverData = 2;
        public static final int SERVERDATA_FIELD_NUMBER = 2;
        private boolean hasServerData;
        private com.google.protobuf.ByteString serverData_ = com.google.protobuf.ByteString.EMPTY;


        public boolean hasServerData() {
            return this.hasServerData;
        }


        public com.google.protobuf.ByteString getServerData() {
            return this.serverData_;
        }


        private void initFields() {
            this.messageHeader_ = com.taobao.gecko.service.notify.NotifyProtos.MessageHeader.getDefaultInstance();
        }


        @Override
        public final boolean isInitialized() {
            if (!this.hasMessageHeader) {
                return false;
            }
            if (!this.getMessageHeader().isInitialized()) {
                return false;
            }
            return true;
        }


        @Override
        public void writeTo(final com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            this.getSerializedSize();
            if (this.hasMessageHeader()) {
                output.writeMessage(1, this.getMessageHeader());
            }
            if (this.hasServerData()) {
                output.writeBytes(2, this.getServerData());
            }
            this.getUnknownFields().writeTo(output);
        }

        private int memoizedSerializedSize = -1;


        @Override
        public int getSerializedSize() {
            int size = this.memoizedSerializedSize;
            if (size != -1) {
                return size;
            }

            size = 0;
            if (this.hasMessageHeader()) {
                size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, this.getMessageHeader());
            }
            if (this.hasServerData()) {
                size += com.google.protobuf.CodedOutputStream.computeBytesSize(2, this.getServerData());
            }
            size += this.getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = size;
            return size;
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader parseFrom(
                final com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader parseFrom(
                final com.google.protobuf.ByteString data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader parseFrom(final byte[] data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader parseFrom(final byte[] data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader parseFrom(
                final java.io.InputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader parseFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader parseDelimitedFrom(
                final java.io.InputStream input) throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader parseDelimitedFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader parseFrom(
                final com.google.protobuf.CodedInputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader parseFrom(
                final com.google.protobuf.CodedInputStream input,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static Builder newBuilder() {
            return Builder.create();
        }


        public Builder newBuilderForType() {
            return newBuilder();
        }


        public static Builder newBuilder(final com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader prototype) {
            return newBuilder().mergeFrom(prototype);
        }


        public Builder toBuilder() {
            return newBuilder(this);
        }

        public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder> {
            private com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader result;


            // Construct using
            // com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader.newBuilder()
            private Builder() {
            }


            private static Builder create() {
                final Builder builder = new Builder();
                builder.result = new com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader();
                return builder;
            }


            @Override
            protected com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader internalGetResult() {
                return this.result;
            }


            @Override
            public Builder clear() {
                if (this.result == null) {
                    throw new IllegalStateException("Cannot call clear() after build().");
                }
                this.result = new com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader();
                return this;
            }


            @Override
            public Builder clone() {
                return create().mergeFrom(this.result);
            }


            @Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader.getDescriptor();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader getDefaultInstanceForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader.getDefaultInstance();
            }


            @Override
            public boolean isInitialized() {
                return this.result.isInitialized();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader build() {
                if (this.result != null && !this.isInitialized()) {
                    throw newUninitializedMessageException(this.result);
                }
                return this.buildPartial();
            }


            private com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader buildParsed()
                    throws com.google.protobuf.InvalidProtocolBufferException {
                if (!this.isInitialized()) {
                    throw newUninitializedMessageException(this.result).asInvalidProtocolBufferException();
                }
                return this.buildPartial();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader buildPartial() {
                if (this.result == null) {
                    throw new IllegalStateException("build() has already been called on this Builder.");
                }
                final com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader returnMe = this.result;
                this.result = null;
                return returnMe;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.Message other) {
                if (other instanceof com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader) {
                    return this.mergeFrom((com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader) other);
                }
                else {
                    super.mergeFrom(other);
                    return this;
                }
            }


            public Builder mergeFrom(final com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader other) {
                if (other == com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader.getDefaultInstance()) {
                    return this;
                }
                if (other.hasMessageHeader()) {
                    this.mergeMessageHeader(other.getMessageHeader());
                }
                if (other.hasServerData()) {
                    this.setServerData(other.getServerData());
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.CodedInputStream input,
                    final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
                final com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                        com.google.protobuf.UnknownFieldSet.newBuilder(this.getUnknownFields());
                while (true) {
                    final int tag = input.readTag();
                    switch (tag) {
                    case 0:
                        this.setUnknownFields(unknownFields.build());
                        return this;
                    default: {
                        if (!this.parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                            this.setUnknownFields(unknownFields.build());
                            return this;
                        }
                        break;
                    }
                    case 10: {
                        final com.taobao.gecko.service.notify.NotifyProtos.MessageHeader.Builder subBuilder =
                                com.taobao.gecko.service.notify.NotifyProtos.MessageHeader.newBuilder();
                        if (this.hasMessageHeader()) {
                            subBuilder.mergeFrom(this.getMessageHeader());
                        }
                        input.readMessage(subBuilder, extensionRegistry);
                        this.setMessageHeader(subBuilder.buildPartial());
                        break;
                    }
                    case 18: {
                        this.setServerData(input.readBytes());
                        break;
                    }
                    }
                }
            }


            // required .notify.MessageHeader messageHeader = 1;
            public boolean hasMessageHeader() {
                return this.result.hasMessageHeader();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageHeader getMessageHeader() {
                return this.result.getMessageHeader();
            }


            public Builder setMessageHeader(final com.taobao.gecko.service.notify.NotifyProtos.MessageHeader value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasMessageHeader = true;
                this.result.messageHeader_ = value;
                return this;
            }


            public Builder setMessageHeader(
                    final com.taobao.gecko.service.notify.NotifyProtos.MessageHeader.Builder builderForValue) {
                this.result.hasMessageHeader = true;
                this.result.messageHeader_ = builderForValue.build();
                return this;
            }


            public Builder mergeMessageHeader(final com.taobao.gecko.service.notify.NotifyProtos.MessageHeader value) {
                if (this.result.hasMessageHeader()
                        && this.result.messageHeader_ != com.taobao.gecko.service.notify.NotifyProtos.MessageHeader
                            .getDefaultInstance()) {
                    this.result.messageHeader_ =
                            com.taobao.gecko.service.notify.NotifyProtos.MessageHeader
                                .newBuilder(this.result.messageHeader_).mergeFrom(value).buildPartial();
                }
                else {
                    this.result.messageHeader_ = value;
                }
                this.result.hasMessageHeader = true;
                return this;
            }


            public Builder clearMessageHeader() {
                this.result.hasMessageHeader = false;
                this.result.messageHeader_ =
                        com.taobao.gecko.service.notify.NotifyProtos.MessageHeader.getDefaultInstance();
                return this;
            }


            // optional bytes serverData = 2;
            public boolean hasServerData() {
                return this.result.hasServerData();
            }


            public com.google.protobuf.ByteString getServerData() {
                return this.result.getServerData();
            }


            public Builder setServerData(final com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasServerData = true;
                this.result.serverData_ = value;
                return this;
            }


            public Builder clearServerData() {
                this.result.hasServerData = false;
                this.result.serverData_ = getDefaultInstance().getServerData();
                return this;
            }

            // @@protoc_insertion_point(builder_scope:notify.CheckMessageHeader)
        }

        static {
            defaultInstance = new CheckMessageHeader(true);
            com.taobao.gecko.service.notify.NotifyProtos.internalForceInit();
            defaultInstance.initFields();
        }

        // @@protoc_insertion_point(class_scope:notify.CheckMessageHeader)
    }

    public static final class CheckMessageAckHeader extends com.google.protobuf.GeneratedMessage {
        // Use CheckMessageAckHeader.newBuilder() to construct.
        private CheckMessageAckHeader() {
            this.initFields();
        }


        private CheckMessageAckHeader(final boolean noInit) {
        }

        private static final CheckMessageAckHeader defaultInstance;


        public static CheckMessageAckHeader getDefaultInstance() {
            return defaultInstance;
        }


        public CheckMessageAckHeader getDefaultInstanceForType() {
            return defaultInstance;
        }


        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_CheckMessageAckHeader_descriptor;
        }


        @Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_CheckMessageAckHeader_fieldAccessorTable;
        }

        public enum CheckResult implements com.google.protobuf.ProtocolMessageEnum {
            COMMITTED(0, 1),
            ROLLBACK(1, 2),
            NOACTION(2, 3), ;

            public final int getNumber() {
                return this.value;
            }


            public static CheckResult valueOf(final int value) {
                switch (value) {
                case 1:
                    return COMMITTED;
                case 2:
                    return ROLLBACK;
                case 3:
                    return NOACTION;
                default:
                    return null;
                }
            }


            public static com.google.protobuf.Internal.EnumLiteMap<CheckResult> internalGetValueMap() {
                return internalValueMap;
            }

            private static com.google.protobuf.Internal.EnumLiteMap<CheckResult> internalValueMap =
                    new com.google.protobuf.Internal.EnumLiteMap<CheckResult>() {
                        public CheckResult findValueByNumber(final int number) {
                            return CheckResult.valueOf(number);
                        }
                    };


            public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
                return getDescriptor().getValues().get(this.index);
            }


            public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
                return getDescriptor();
            }


            public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
                return com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader.getDescriptor()
                    .getEnumTypes().get(0);
            }

            private static final CheckResult[] VALUES = { COMMITTED, ROLLBACK, NOACTION, };


            public static CheckResult valueOf(final com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
                if (desc.getType() != getDescriptor()) {
                    throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
                }
                return VALUES[desc.getIndex()];
            }

            private final int index;
            private final int value;


            private CheckResult(final int index, final int value) {
                this.index = index;
                this.value = value;
            }

            static {
                com.taobao.gecko.service.notify.NotifyProtos.getDescriptor();
            }

            // @@protoc_insertion_point(enum_scope:notify.CheckMessageAckHeader.CheckResult)
        }

        // required bytes messageId = 1;
        public static final int MESSAGEID_FIELD_NUMBER = 1;
        private boolean hasMessageId;
        private com.google.protobuf.ByteString messageId_ = com.google.protobuf.ByteString.EMPTY;


        public boolean hasMessageId() {
            return this.hasMessageId;
        }


        public com.google.protobuf.ByteString getMessageId() {
            return this.messageId_;
        }

        // optional .notify.CheckMessageAckHeader.CheckResult result = 2;
        public static final int RESULT_FIELD_NUMBER = 2;
        private boolean hasResult;
        private com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader.CheckResult result_;


        public boolean hasResult() {
            return this.hasResult;
        }


        public com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader.CheckResult getResult() {
            return this.result_;
        }

        // optional bytes serverData = 3;
        public static final int SERVERDATA_FIELD_NUMBER = 3;
        private boolean hasServerData;
        private com.google.protobuf.ByteString serverData_ = com.google.protobuf.ByteString.EMPTY;


        public boolean hasServerData() {
            return this.hasServerData;
        }


        public com.google.protobuf.ByteString getServerData() {
            return this.serverData_;
        }

        // optional uint64 postDelayTime = 4;
        public static final int POSTDELAYTIME_FIELD_NUMBER = 4;
        private boolean hasPostDelayTime;
        private long postDelayTime_ = 0L;


        public boolean hasPostDelayTime() {
            return this.hasPostDelayTime;
        }


        public long getPostDelayTime() {
            return this.postDelayTime_;
        }


        private void initFields() {
            this.result_ = com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader.CheckResult.COMMITTED;
        }


        @Override
        public final boolean isInitialized() {
            if (!this.hasMessageId) {
                return false;
            }
            return true;
        }


        @Override
        public void writeTo(final com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            this.getSerializedSize();
            if (this.hasMessageId()) {
                output.writeBytes(1, this.getMessageId());
            }
            if (this.hasResult()) {
                output.writeEnum(2, this.getResult().getNumber());
            }
            if (this.hasServerData()) {
                output.writeBytes(3, this.getServerData());
            }
            if (this.hasPostDelayTime()) {
                output.writeUInt64(4, this.getPostDelayTime());
            }
            this.getUnknownFields().writeTo(output);
        }

        private int memoizedSerializedSize = -1;


        @Override
        public int getSerializedSize() {
            int size = this.memoizedSerializedSize;
            if (size != -1) {
                return size;
            }

            size = 0;
            if (this.hasMessageId()) {
                size += com.google.protobuf.CodedOutputStream.computeBytesSize(1, this.getMessageId());
            }
            if (this.hasResult()) {
                size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, this.getResult().getNumber());
            }
            if (this.hasServerData()) {
                size += com.google.protobuf.CodedOutputStream.computeBytesSize(3, this.getServerData());
            }
            if (this.hasPostDelayTime()) {
                size += com.google.protobuf.CodedOutputStream.computeUInt64Size(4, this.getPostDelayTime());
            }
            size += this.getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = size;
            return size;
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader parseFrom(
                final com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader parseFrom(
                final com.google.protobuf.ByteString data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader parseFrom(final byte[] data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader parseFrom(final byte[] data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader parseFrom(
                final java.io.InputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader parseFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader parseDelimitedFrom(
                final java.io.InputStream input) throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader parseDelimitedFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader parseFrom(
                final com.google.protobuf.CodedInputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader parseFrom(
                final com.google.protobuf.CodedInputStream input,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static Builder newBuilder() {
            return Builder.create();
        }


        public Builder newBuilderForType() {
            return newBuilder();
        }


        public static Builder newBuilder(
                final com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader prototype) {
            return newBuilder().mergeFrom(prototype);
        }


        public Builder toBuilder() {
            return newBuilder(this);
        }

        public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder> {
            private com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader result;


            // Construct using
            // com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader.newBuilder()
            private Builder() {
            }


            private static Builder create() {
                final Builder builder = new Builder();
                builder.result = new com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader();
                return builder;
            }


            @Override
            protected com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader internalGetResult() {
                return this.result;
            }


            @Override
            public Builder clear() {
                if (this.result == null) {
                    throw new IllegalStateException("Cannot call clear() after build().");
                }
                this.result = new com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader();
                return this;
            }


            @Override
            public Builder clone() {
                return create().mergeFrom(this.result);
            }


            @Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader.getDescriptor();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader getDefaultInstanceForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader.getDefaultInstance();
            }


            @Override
            public boolean isInitialized() {
                return this.result.isInitialized();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader build() {
                if (this.result != null && !this.isInitialized()) {
                    throw newUninitializedMessageException(this.result);
                }
                return this.buildPartial();
            }


            private com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader buildParsed()
                    throws com.google.protobuf.InvalidProtocolBufferException {
                if (!this.isInitialized()) {
                    throw newUninitializedMessageException(this.result).asInvalidProtocolBufferException();
                }
                return this.buildPartial();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader buildPartial() {
                if (this.result == null) {
                    throw new IllegalStateException("build() has already been called on this Builder.");
                }
                final com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader returnMe = this.result;
                this.result = null;
                return returnMe;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.Message other) {
                if (other instanceof com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader) {
                    return this.mergeFrom((com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader) other);
                }
                else {
                    super.mergeFrom(other);
                    return this;
                }
            }


            public Builder mergeFrom(final com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader other) {
                if (other == com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader.getDefaultInstance()) {
                    return this;
                }
                if (other.hasMessageId()) {
                    this.setMessageId(other.getMessageId());
                }
                if (other.hasResult()) {
                    this.setResult(other.getResult());
                }
                if (other.hasServerData()) {
                    this.setServerData(other.getServerData());
                }
                if (other.hasPostDelayTime()) {
                    this.setPostDelayTime(other.getPostDelayTime());
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.CodedInputStream input,
                    final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
                final com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                        com.google.protobuf.UnknownFieldSet.newBuilder(this.getUnknownFields());
                while (true) {
                    final int tag = input.readTag();
                    switch (tag) {
                    case 0:
                        this.setUnknownFields(unknownFields.build());
                        return this;
                    default: {
                        if (!this.parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                            this.setUnknownFields(unknownFields.build());
                            return this;
                        }
                        break;
                    }
                    case 10: {
                        this.setMessageId(input.readBytes());
                        break;
                    }
                    case 16: {
                        final int rawValue = input.readEnum();
                        final com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader.CheckResult value =
                                com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader.CheckResult
                                    .valueOf(rawValue);
                        if (value == null) {
                            unknownFields.mergeVarintField(2, rawValue);
                        }
                        else {
                            this.setResult(value);
                        }
                        break;
                    }
                    case 26: {
                        this.setServerData(input.readBytes());
                        break;
                    }
                    case 32: {
                        this.setPostDelayTime(input.readUInt64());
                        break;
                    }
                    }
                }
            }


            // required bytes messageId = 1;
            public boolean hasMessageId() {
                return this.result.hasMessageId();
            }


            public com.google.protobuf.ByteString getMessageId() {
                return this.result.getMessageId();
            }


            public Builder setMessageId(final com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasMessageId = true;
                this.result.messageId_ = value;
                return this;
            }


            public Builder clearMessageId() {
                this.result.hasMessageId = false;
                this.result.messageId_ = getDefaultInstance().getMessageId();
                return this;
            }


            // optional .notify.CheckMessageAckHeader.CheckResult result = 2;
            public boolean hasResult() {
                return this.result.hasResult();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader.CheckResult getResult() {
                return this.result.getResult();
            }


            public Builder setResult(
                    final com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader.CheckResult value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasResult = true;
                this.result.result_ = value;
                return this;
            }


            public Builder clearResult() {
                this.result.hasResult = false;
                this.result.result_ =
                        com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader.CheckResult.COMMITTED;
                return this;
            }


            // optional bytes serverData = 3;
            public boolean hasServerData() {
                return this.result.hasServerData();
            }


            public com.google.protobuf.ByteString getServerData() {
                return this.result.getServerData();
            }


            public Builder setServerData(final com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasServerData = true;
                this.result.serverData_ = value;
                return this;
            }


            public Builder clearServerData() {
                this.result.hasServerData = false;
                this.result.serverData_ = getDefaultInstance().getServerData();
                return this;
            }


            // optional uint64 postDelayTime = 4;
            public boolean hasPostDelayTime() {
                return this.result.hasPostDelayTime();
            }


            public long getPostDelayTime() {
                return this.result.getPostDelayTime();
            }


            public Builder setPostDelayTime(final long value) {
                this.result.hasPostDelayTime = true;
                this.result.postDelayTime_ = value;
                return this;
            }


            public Builder clearPostDelayTime() {
                this.result.hasPostDelayTime = false;
                this.result.postDelayTime_ = 0L;
                return this;
            }

            // @@protoc_insertion_point(builder_scope:notify.CheckMessageAckHeader)
        }

        static {
            defaultInstance = new CheckMessageAckHeader(true);
            com.taobao.gecko.service.notify.NotifyProtos.internalForceInit();
            defaultInstance.initFields();
        }

        // @@protoc_insertion_point(class_scope:notify.CheckMessageAckHeader)
    }

    public static final class Subscription extends com.google.protobuf.GeneratedMessage {
        // Use Subscription.newBuilder() to construct.
        private Subscription() {
            this.initFields();
        }


        private Subscription(final boolean noInit) {
        }

        private static final Subscription defaultInstance;


        public static Subscription getDefaultInstance() {
            return defaultInstance;
        }


        public Subscription getDefaultInstanceForType() {
            return defaultInstance;
        }


        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_Subscription_descriptor;
        }


        @Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_Subscription_fieldAccessorTable;
        }

        // required string binding = 1;
        public static final int BINDING_FIELD_NUMBER = 1;
        private boolean hasBinding;
        private java.lang.String binding_ = "";


        public boolean hasBinding() {
            return this.hasBinding;
        }


        public java.lang.String getBinding() {
            return this.binding_;
        }


        private void initFields() {
        }


        @Override
        public final boolean isInitialized() {
            if (!this.hasBinding) {
                return false;
            }
            return true;
        }


        @Override
        public void writeTo(final com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            this.getSerializedSize();
            if (this.hasBinding()) {
                output.writeString(1, this.getBinding());
            }
            this.getUnknownFields().writeTo(output);
        }

        private int memoizedSerializedSize = -1;


        @Override
        public int getSerializedSize() {
            int size = this.memoizedSerializedSize;
            if (size != -1) {
                return size;
            }

            size = 0;
            if (this.hasBinding()) {
                size += com.google.protobuf.CodedOutputStream.computeStringSize(1, this.getBinding());
            }
            size += this.getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = size;
            return size;
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.Subscription parseFrom(
                final com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.Subscription parseFrom(
                final com.google.protobuf.ByteString data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.Subscription parseFrom(final byte[] data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.Subscription parseFrom(final byte[] data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.Subscription parseFrom(
                final java.io.InputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.Subscription parseFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.Subscription parseDelimitedFrom(
                final java.io.InputStream input) throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.Subscription parseDelimitedFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.Subscription parseFrom(
                final com.google.protobuf.CodedInputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.Subscription parseFrom(
                final com.google.protobuf.CodedInputStream input,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static Builder newBuilder() {
            return Builder.create();
        }


        public Builder newBuilderForType() {
            return newBuilder();
        }


        public static Builder newBuilder(final com.taobao.gecko.service.notify.NotifyProtos.Subscription prototype) {
            return newBuilder().mergeFrom(prototype);
        }


        public Builder toBuilder() {
            return newBuilder(this);
        }

        public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder> {
            private com.taobao.gecko.service.notify.NotifyProtos.Subscription result;


            // Construct using
            // com.taobao.gecko.service.notify.NotifyProtos.Subscription.newBuilder()
            private Builder() {
            }


            private static Builder create() {
                final Builder builder = new Builder();
                builder.result = new com.taobao.gecko.service.notify.NotifyProtos.Subscription();
                return builder;
            }


            @Override
            protected com.taobao.gecko.service.notify.NotifyProtos.Subscription internalGetResult() {
                return this.result;
            }


            @Override
            public Builder clear() {
                if (this.result == null) {
                    throw new IllegalStateException("Cannot call clear() after build().");
                }
                this.result = new com.taobao.gecko.service.notify.NotifyProtos.Subscription();
                return this;
            }


            @Override
            public Builder clone() {
                return create().mergeFrom(this.result);
            }


            @Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.Subscription.getDescriptor();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.Subscription getDefaultInstanceForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.Subscription.getDefaultInstance();
            }


            @Override
            public boolean isInitialized() {
                return this.result.isInitialized();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.Subscription build() {
                if (this.result != null && !this.isInitialized()) {
                    throw newUninitializedMessageException(this.result);
                }
                return this.buildPartial();
            }


            private com.taobao.gecko.service.notify.NotifyProtos.Subscription buildParsed()
                    throws com.google.protobuf.InvalidProtocolBufferException {
                if (!this.isInitialized()) {
                    throw newUninitializedMessageException(this.result).asInvalidProtocolBufferException();
                }
                return this.buildPartial();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.Subscription buildPartial() {
                if (this.result == null) {
                    throw new IllegalStateException("build() has already been called on this Builder.");
                }
                final com.taobao.gecko.service.notify.NotifyProtos.Subscription returnMe = this.result;
                this.result = null;
                return returnMe;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.Message other) {
                if (other instanceof com.taobao.gecko.service.notify.NotifyProtos.Subscription) {
                    return this.mergeFrom((com.taobao.gecko.service.notify.NotifyProtos.Subscription) other);
                }
                else {
                    super.mergeFrom(other);
                    return this;
                }
            }


            public Builder mergeFrom(final com.taobao.gecko.service.notify.NotifyProtos.Subscription other) {
                if (other == com.taobao.gecko.service.notify.NotifyProtos.Subscription.getDefaultInstance()) {
                    return this;
                }
                if (other.hasBinding()) {
                    this.setBinding(other.getBinding());
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.CodedInputStream input,
                    final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
                final com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                        com.google.protobuf.UnknownFieldSet.newBuilder(this.getUnknownFields());
                while (true) {
                    final int tag = input.readTag();
                    switch (tag) {
                    case 0:
                        this.setUnknownFields(unknownFields.build());
                        return this;
                    default: {
                        if (!this.parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                            this.setUnknownFields(unknownFields.build());
                            return this;
                        }
                        break;
                    }
                    case 10: {
                        this.setBinding(input.readString());
                        break;
                    }
                    }
                }
            }


            // required string binding = 1;
            public boolean hasBinding() {
                return this.result.hasBinding();
            }


            public java.lang.String getBinding() {
                return this.result.getBinding();
            }


            public Builder setBinding(final java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasBinding = true;
                this.result.binding_ = value;
                return this;
            }


            public Builder clearBinding() {
                this.result.hasBinding = false;
                this.result.binding_ = getDefaultInstance().getBinding();
                return this;
            }

            // @@protoc_insertion_point(builder_scope:notify.Subscription)
        }

        static {
            defaultInstance = new Subscription(true);
            com.taobao.gecko.service.notify.NotifyProtos.internalForceInit();
            defaultInstance.initFields();
        }

        // @@protoc_insertion_point(class_scope:notify.Subscription)
    }

    public static final class MessageAckHeader extends com.google.protobuf.GeneratedMessage {
        // Use MessageAckHeader.newBuilder() to construct.
        private MessageAckHeader() {
            this.initFields();
        }


        private MessageAckHeader(final boolean noInit) {
        }

        private static final MessageAckHeader defaultInstance;


        public static MessageAckHeader getDefaultInstance() {
            return defaultInstance;
        }


        public MessageAckHeader getDefaultInstanceForType() {
            return defaultInstance;
        }


        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_MessageAckHeader_descriptor;
        }


        @Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_MessageAckHeader_fieldAccessorTable;
        }

        // optional bytes serverData = 1;
        public static final int SERVERDATA_FIELD_NUMBER = 1;
        private boolean hasServerData;
        private com.google.protobuf.ByteString serverData_ = com.google.protobuf.ByteString.EMPTY;


        public boolean hasServerData() {
            return this.hasServerData;
        }


        public com.google.protobuf.ByteString getServerData() {
            return this.serverData_;
        }

        // optional bytes messageId = 2;
        public static final int MESSAGEID_FIELD_NUMBER = 2;
        private boolean hasMessageId;
        private com.google.protobuf.ByteString messageId_ = com.google.protobuf.ByteString.EMPTY;


        public boolean hasMessageId() {
            return this.hasMessageId;
        }


        public com.google.protobuf.ByteString getMessageId() {
            return this.messageId_;
        }


        private void initFields() {
        }


        @Override
        public final boolean isInitialized() {
            return true;
        }


        @Override
        public void writeTo(final com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            this.getSerializedSize();
            if (this.hasServerData()) {
                output.writeBytes(1, this.getServerData());
            }
            if (this.hasMessageId()) {
                output.writeBytes(2, this.getMessageId());
            }
            this.getUnknownFields().writeTo(output);
        }

        private int memoizedSerializedSize = -1;


        @Override
        public int getSerializedSize() {
            int size = this.memoizedSerializedSize;
            if (size != -1) {
                return size;
            }

            size = 0;
            if (this.hasServerData()) {
                size += com.google.protobuf.CodedOutputStream.computeBytesSize(1, this.getServerData());
            }
            if (this.hasMessageId()) {
                size += com.google.protobuf.CodedOutputStream.computeBytesSize(2, this.getMessageId());
            }
            size += this.getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = size;
            return size;
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader parseFrom(
                final com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader parseFrom(
                final com.google.protobuf.ByteString data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader parseFrom(final byte[] data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader parseFrom(final byte[] data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader parseFrom(
                final java.io.InputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader parseFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader parseDelimitedFrom(
                final java.io.InputStream input) throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader parseDelimitedFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader parseFrom(
                final com.google.protobuf.CodedInputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader parseFrom(
                final com.google.protobuf.CodedInputStream input,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static Builder newBuilder() {
            return Builder.create();
        }


        public Builder newBuilderForType() {
            return newBuilder();
        }


        public static Builder newBuilder(final com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader prototype) {
            return newBuilder().mergeFrom(prototype);
        }


        public Builder toBuilder() {
            return newBuilder(this);
        }

        public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder> {
            private com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader result;


            // Construct using
            // com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader.newBuilder()
            private Builder() {
            }


            private static Builder create() {
                final Builder builder = new Builder();
                builder.result = new com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader();
                return builder;
            }


            @Override
            protected com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader internalGetResult() {
                return this.result;
            }


            @Override
            public Builder clear() {
                if (this.result == null) {
                    throw new IllegalStateException("Cannot call clear() after build().");
                }
                this.result = new com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader();
                return this;
            }


            @Override
            public Builder clone() {
                return create().mergeFrom(this.result);
            }


            @Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader.getDescriptor();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader getDefaultInstanceForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader.getDefaultInstance();
            }


            @Override
            public boolean isInitialized() {
                return this.result.isInitialized();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader build() {
                if (this.result != null && !this.isInitialized()) {
                    throw newUninitializedMessageException(this.result);
                }
                return this.buildPartial();
            }


            private com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader buildParsed()
                    throws com.google.protobuf.InvalidProtocolBufferException {
                if (!this.isInitialized()) {
                    throw newUninitializedMessageException(this.result).asInvalidProtocolBufferException();
                }
                return this.buildPartial();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader buildPartial() {
                if (this.result == null) {
                    throw new IllegalStateException("build() has already been called on this Builder.");
                }
                final com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader returnMe = this.result;
                this.result = null;
                return returnMe;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.Message other) {
                if (other instanceof com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader) {
                    return this.mergeFrom((com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader) other);
                }
                else {
                    super.mergeFrom(other);
                    return this;
                }
            }


            public Builder mergeFrom(final com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader other) {
                if (other == com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader.getDefaultInstance()) {
                    return this;
                }
                if (other.hasServerData()) {
                    this.setServerData(other.getServerData());
                }
                if (other.hasMessageId()) {
                    this.setMessageId(other.getMessageId());
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.CodedInputStream input,
                    final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
                final com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                        com.google.protobuf.UnknownFieldSet.newBuilder(this.getUnknownFields());
                while (true) {
                    final int tag = input.readTag();
                    switch (tag) {
                    case 0:
                        this.setUnknownFields(unknownFields.build());
                        return this;
                    default: {
                        if (!this.parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                            this.setUnknownFields(unknownFields.build());
                            return this;
                        }
                        break;
                    }
                    case 10: {
                        this.setServerData(input.readBytes());
                        break;
                    }
                    case 18: {
                        this.setMessageId(input.readBytes());
                        break;
                    }
                    }
                }
            }


            // optional bytes serverData = 1;
            public boolean hasServerData() {
                return this.result.hasServerData();
            }


            public com.google.protobuf.ByteString getServerData() {
                return this.result.getServerData();
            }


            public Builder setServerData(final com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasServerData = true;
                this.result.serverData_ = value;
                return this;
            }


            public Builder clearServerData() {
                this.result.hasServerData = false;
                this.result.serverData_ = getDefaultInstance().getServerData();
                return this;
            }


            // optional bytes messageId = 2;
            public boolean hasMessageId() {
                return this.result.hasMessageId();
            }


            public com.google.protobuf.ByteString getMessageId() {
                return this.result.getMessageId();
            }


            public Builder setMessageId(final com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.hasMessageId = true;
                this.result.messageId_ = value;
                return this;
            }


            public Builder clearMessageId() {
                this.result.hasMessageId = false;
                this.result.messageId_ = getDefaultInstance().getMessageId();
                return this;
            }

            // @@protoc_insertion_point(builder_scope:notify.MessageAckHeader)
        }

        static {
            defaultInstance = new MessageAckHeader(true);
            com.taobao.gecko.service.notify.NotifyProtos.internalForceInit();
            defaultInstance.initFields();
        }

        // @@protoc_insertion_point(class_scope:notify.MessageAckHeader)
    }

    public static final class MessageList extends com.google.protobuf.GeneratedMessage {
        // Use MessageList.newBuilder() to construct.
        private MessageList() {
            this.initFields();
        }


        private MessageList(final boolean noInit) {
        }

        private static final MessageList defaultInstance;


        public static MessageList getDefaultInstance() {
            return defaultInstance;
        }


        public MessageList getDefaultInstanceForType() {
            return defaultInstance;
        }


        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_MessageList_descriptor;
        }


        @Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_MessageList_fieldAccessorTable;
        }

        public static final class Message extends com.google.protobuf.GeneratedMessage {
            // Use Message.newBuilder() to construct.
            private Message() {
                this.initFields();
            }


            private Message(final boolean noInit) {
            }

            private static final Message defaultInstance;


            public static Message getDefaultInstance() {
                return defaultInstance;
            }


            public Message getDefaultInstanceForType() {
                return defaultInstance;
            }


            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_MessageList_Message_descriptor;
            }


            @Override
            protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_MessageList_Message_fieldAccessorTable;
            }

            // required .notify.MessageHeader messageHeader = 1;
            public static final int MESSAGEHEADER_FIELD_NUMBER = 1;
            private boolean hasMessageHeader;
            private com.taobao.gecko.service.notify.NotifyProtos.MessageHeader messageHeader_;


            public boolean hasMessageHeader() {
                return this.hasMessageHeader;
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageHeader getMessageHeader() {
                return this.messageHeader_;
            }

            // required bytes body = 2;
            public static final int BODY_FIELD_NUMBER = 2;
            private boolean hasBody;
            private com.google.protobuf.ByteString body_ = com.google.protobuf.ByteString.EMPTY;


            public boolean hasBody() {
                return this.hasBody;
            }


            public com.google.protobuf.ByteString getBody() {
                return this.body_;
            }


            private void initFields() {
                this.messageHeader_ = com.taobao.gecko.service.notify.NotifyProtos.MessageHeader.getDefaultInstance();
            }


            @Override
            public final boolean isInitialized() {
                if (!this.hasMessageHeader) {
                    return false;
                }
                if (!this.hasBody) {
                    return false;
                }
                if (!this.getMessageHeader().isInitialized()) {
                    return false;
                }
                return true;
            }


            @Override
            public void writeTo(final com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
                this.getSerializedSize();
                if (this.hasMessageHeader()) {
                    output.writeMessage(1, this.getMessageHeader());
                }
                if (this.hasBody()) {
                    output.writeBytes(2, this.getBody());
                }
                this.getUnknownFields().writeTo(output);
            }

            private int memoizedSerializedSize = -1;


            @Override
            public int getSerializedSize() {
                int size = this.memoizedSerializedSize;
                if (size != -1) {
                    return size;
                }

                size = 0;
                if (this.hasMessageHeader()) {
                    size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, this.getMessageHeader());
                }
                if (this.hasBody()) {
                    size += com.google.protobuf.CodedOutputStream.computeBytesSize(2, this.getBody());
                }
                size += this.getUnknownFields().getSerializedSize();
                this.memoizedSerializedSize = size;
                return size;
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message parseFrom(
                    final com.google.protobuf.ByteString data)
                    throws com.google.protobuf.InvalidProtocolBufferException {
                return newBuilder().mergeFrom(data).buildParsed();
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message parseFrom(
                    final com.google.protobuf.ByteString data,
                    final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws com.google.protobuf.InvalidProtocolBufferException {
                return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message parseFrom(final byte[] data)
                    throws com.google.protobuf.InvalidProtocolBufferException {
                return newBuilder().mergeFrom(data).buildParsed();
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message parseFrom(final byte[] data,
                    final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws com.google.protobuf.InvalidProtocolBufferException {
                return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message parseFrom(
                    final java.io.InputStream input) throws java.io.IOException {
                return newBuilder().mergeFrom(input).buildParsed();
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message parseFrom(
                    final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws java.io.IOException {
                return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message parseDelimitedFrom(
                    final java.io.InputStream input) throws java.io.IOException {
                final Builder builder = newBuilder();
                if (builder.mergeDelimitedFrom(input)) {
                    return builder.buildParsed();
                }
                else {
                    return null;
                }
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message parseDelimitedFrom(
                    final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws java.io.IOException {
                final Builder builder = newBuilder();
                if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                    return builder.buildParsed();
                }
                else {
                    return null;
                }
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message parseFrom(
                    final com.google.protobuf.CodedInputStream input) throws java.io.IOException {
                return newBuilder().mergeFrom(input).buildParsed();
            }


            public static com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message parseFrom(
                    final com.google.protobuf.CodedInputStream input,
                    final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
                return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
            }


            public static Builder newBuilder() {
                return Builder.create();
            }


            public Builder newBuilderForType() {
                return newBuilder();
            }


            public static Builder newBuilder(
                    final com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message prototype) {
                return newBuilder().mergeFrom(prototype);
            }


            public Builder toBuilder() {
                return newBuilder(this);
            }

            public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder> {
                private com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message result;


                // Construct using
                // com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message.newBuilder()
                private Builder() {
                }


                private static Builder create() {
                    final Builder builder = new Builder();
                    builder.result = new com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message();
                    return builder;
                }


                @Override
                protected com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message internalGetResult() {
                    return this.result;
                }


                @Override
                public Builder clear() {
                    if (this.result == null) {
                        throw new IllegalStateException("Cannot call clear() after build().");
                    }
                    this.result = new com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message();
                    return this;
                }


                @Override
                public Builder clone() {
                    return create().mergeFrom(this.result);
                }


                @Override
                public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                    return com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message.getDescriptor();
                }


                public com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message getDefaultInstanceForType() {
                    return com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message.getDefaultInstance();
                }


                @Override
                public boolean isInitialized() {
                    return this.result.isInitialized();
                }


                public com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message build() {
                    if (this.result != null && !this.isInitialized()) {
                        throw newUninitializedMessageException(this.result);
                    }
                    return this.buildPartial();
                }


                private com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message buildParsed()
                        throws com.google.protobuf.InvalidProtocolBufferException {
                    if (!this.isInitialized()) {
                        throw newUninitializedMessageException(this.result).asInvalidProtocolBufferException();
                    }
                    return this.buildPartial();
                }


                public com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message buildPartial() {
                    if (this.result == null) {
                        throw new IllegalStateException("build() has already been called on this Builder.");
                    }
                    final com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message returnMe = this.result;
                    this.result = null;
                    return returnMe;
                }


                @Override
                public Builder mergeFrom(final com.google.protobuf.Message other) {
                    if (other instanceof com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message) {
                        return this.mergeFrom((com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message) other);
                    }
                    else {
                        super.mergeFrom(other);
                        return this;
                    }
                }


                public Builder mergeFrom(final com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message other) {
                    if (other == com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message.getDefaultInstance()) {
                        return this;
                    }
                    if (other.hasMessageHeader()) {
                        this.mergeMessageHeader(other.getMessageHeader());
                    }
                    if (other.hasBody()) {
                        this.setBody(other.getBody());
                    }
                    this.mergeUnknownFields(other.getUnknownFields());
                    return this;
                }


                @Override
                public Builder mergeFrom(final com.google.protobuf.CodedInputStream input,
                        final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
                    final com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                            com.google.protobuf.UnknownFieldSet.newBuilder(this.getUnknownFields());
                    while (true) {
                        final int tag = input.readTag();
                        switch (tag) {
                        case 0:
                            this.setUnknownFields(unknownFields.build());
                            return this;
                        default: {
                            if (!this.parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                this.setUnknownFields(unknownFields.build());
                                return this;
                            }
                            break;
                        }
                        case 10: {
                            final com.taobao.gecko.service.notify.NotifyProtos.MessageHeader.Builder subBuilder =
                                    com.taobao.gecko.service.notify.NotifyProtos.MessageHeader.newBuilder();
                            if (this.hasMessageHeader()) {
                                subBuilder.mergeFrom(this.getMessageHeader());
                            }
                            input.readMessage(subBuilder, extensionRegistry);
                            this.setMessageHeader(subBuilder.buildPartial());
                            break;
                        }
                        case 18: {
                            this.setBody(input.readBytes());
                            break;
                        }
                        }
                    }
                }


                // required .notify.MessageHeader messageHeader = 1;
                public boolean hasMessageHeader() {
                    return this.result.hasMessageHeader();
                }


                public com.taobao.gecko.service.notify.NotifyProtos.MessageHeader getMessageHeader() {
                    return this.result.getMessageHeader();
                }


                public Builder setMessageHeader(final com.taobao.gecko.service.notify.NotifyProtos.MessageHeader value) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    this.result.hasMessageHeader = true;
                    this.result.messageHeader_ = value;
                    return this;
                }


                public Builder setMessageHeader(
                        final com.taobao.gecko.service.notify.NotifyProtos.MessageHeader.Builder builderForValue) {
                    this.result.hasMessageHeader = true;
                    this.result.messageHeader_ = builderForValue.build();
                    return this;
                }


                public Builder mergeMessageHeader(final com.taobao.gecko.service.notify.NotifyProtos.MessageHeader value) {
                    if (this.result.hasMessageHeader()
                            && this.result.messageHeader_ != com.taobao.gecko.service.notify.NotifyProtos.MessageHeader
                                .getDefaultInstance()) {
                        this.result.messageHeader_ =
                                com.taobao.gecko.service.notify.NotifyProtos.MessageHeader
                                    .newBuilder(this.result.messageHeader_).mergeFrom(value).buildPartial();
                    }
                    else {
                        this.result.messageHeader_ = value;
                    }
                    this.result.hasMessageHeader = true;
                    return this;
                }


                public Builder clearMessageHeader() {
                    this.result.hasMessageHeader = false;
                    this.result.messageHeader_ =
                            com.taobao.gecko.service.notify.NotifyProtos.MessageHeader.getDefaultInstance();
                    return this;
                }


                // required bytes body = 2;
                public boolean hasBody() {
                    return this.result.hasBody();
                }


                public com.google.protobuf.ByteString getBody() {
                    return this.result.getBody();
                }


                public Builder setBody(final com.google.protobuf.ByteString value) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    this.result.hasBody = true;
                    this.result.body_ = value;
                    return this;
                }


                public Builder clearBody() {
                    this.result.hasBody = false;
                    this.result.body_ = getDefaultInstance().getBody();
                    return this;
                }

                // @@protoc_insertion_point(builder_scope:notify.MessageList.Message)
            }

            static {
                defaultInstance = new Message(true);
                com.taobao.gecko.service.notify.NotifyProtos.internalForceInit();
                defaultInstance.initFields();
            }

            // @@protoc_insertion_point(class_scope:notify.MessageList.Message)
        }

        // repeated .notify.MessageList.Message messageList = 1;
        public static final int MESSAGELIST_FIELD_NUMBER = 1;
        private java.util.List<com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message> messageList_ =
                java.util.Collections.emptyList();


        public java.util.List<com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message> getMessageListList() {
            return this.messageList_;
        }


        public int getMessageListCount() {
            return this.messageList_.size();
        }


        public com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message getMessageList(final int index) {
            return this.messageList_.get(index);
        }


        private void initFields() {
        }


        @Override
        public final boolean isInitialized() {
            for (final com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message element : this
                .getMessageListList()) {
                if (!element.isInitialized()) {
                    return false;
                }
            }
            return true;
        }


        @Override
        public void writeTo(final com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            this.getSerializedSize();
            for (final com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message element : this
                .getMessageListList()) {
                output.writeMessage(1, element);
            }
            this.getUnknownFields().writeTo(output);
        }

        private int memoizedSerializedSize = -1;


        @Override
        public int getSerializedSize() {
            int size = this.memoizedSerializedSize;
            if (size != -1) {
                return size;
            }

            size = 0;
            for (final com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message element : this
                .getMessageListList()) {
                size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, element);
            }
            size += this.getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = size;
            return size;
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageList parseFrom(
                final com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageList parseFrom(
                final com.google.protobuf.ByteString data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageList parseFrom(final byte[] data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageList parseFrom(final byte[] data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageList parseFrom(final java.io.InputStream input)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageList parseFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageList parseDelimitedFrom(
                final java.io.InputStream input) throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageList parseDelimitedFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageList parseFrom(
                final com.google.protobuf.CodedInputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageList parseFrom(
                final com.google.protobuf.CodedInputStream input,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static Builder newBuilder() {
            return Builder.create();
        }


        public Builder newBuilderForType() {
            return newBuilder();
        }


        public static Builder newBuilder(final com.taobao.gecko.service.notify.NotifyProtos.MessageList prototype) {
            return newBuilder().mergeFrom(prototype);
        }


        public Builder toBuilder() {
            return newBuilder(this);
        }

        public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder> {
            private com.taobao.gecko.service.notify.NotifyProtos.MessageList result;


            // Construct using
            // com.taobao.gecko.service.notify.NotifyProtos.MessageList.newBuilder()
            private Builder() {
            }


            private static Builder create() {
                final Builder builder = new Builder();
                builder.result = new com.taobao.gecko.service.notify.NotifyProtos.MessageList();
                return builder;
            }


            @Override
            protected com.taobao.gecko.service.notify.NotifyProtos.MessageList internalGetResult() {
                return this.result;
            }


            @Override
            public Builder clear() {
                if (this.result == null) {
                    throw new IllegalStateException("Cannot call clear() after build().");
                }
                this.result = new com.taobao.gecko.service.notify.NotifyProtos.MessageList();
                return this;
            }


            @Override
            public Builder clone() {
                return create().mergeFrom(this.result);
            }


            @Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.MessageList.getDescriptor();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageList getDefaultInstanceForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.MessageList.getDefaultInstance();
            }


            @Override
            public boolean isInitialized() {
                return this.result.isInitialized();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageList build() {
                if (this.result != null && !this.isInitialized()) {
                    throw newUninitializedMessageException(this.result);
                }
                return this.buildPartial();
            }


            private com.taobao.gecko.service.notify.NotifyProtos.MessageList buildParsed()
                    throws com.google.protobuf.InvalidProtocolBufferException {
                if (!this.isInitialized()) {
                    throw newUninitializedMessageException(this.result).asInvalidProtocolBufferException();
                }
                return this.buildPartial();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageList buildPartial() {
                if (this.result == null) {
                    throw new IllegalStateException("build() has already been called on this Builder.");
                }
                if (this.result.messageList_ != java.util.Collections.EMPTY_LIST) {
                    this.result.messageList_ = java.util.Collections.unmodifiableList(this.result.messageList_);
                }
                final com.taobao.gecko.service.notify.NotifyProtos.MessageList returnMe = this.result;
                this.result = null;
                return returnMe;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.Message other) {
                if (other instanceof com.taobao.gecko.service.notify.NotifyProtos.MessageList) {
                    return this.mergeFrom((com.taobao.gecko.service.notify.NotifyProtos.MessageList) other);
                }
                else {
                    super.mergeFrom(other);
                    return this;
                }
            }


            public Builder mergeFrom(final com.taobao.gecko.service.notify.NotifyProtos.MessageList other) {
                if (other == com.taobao.gecko.service.notify.NotifyProtos.MessageList.getDefaultInstance()) {
                    return this;
                }
                if (!other.messageList_.isEmpty()) {
                    if (this.result.messageList_.isEmpty()) {
                        this.result.messageList_ =
                                new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message>();
                    }
                    this.result.messageList_.addAll(other.messageList_);
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.CodedInputStream input,
                    final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
                final com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                        com.google.protobuf.UnknownFieldSet.newBuilder(this.getUnknownFields());
                while (true) {
                    final int tag = input.readTag();
                    switch (tag) {
                    case 0:
                        this.setUnknownFields(unknownFields.build());
                        return this;
                    default: {
                        if (!this.parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                            this.setUnknownFields(unknownFields.build());
                            return this;
                        }
                        break;
                    }
                    case 10: {
                        final com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message.Builder subBuilder =
                                com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message.newBuilder();
                        input.readMessage(subBuilder, extensionRegistry);
                        this.addMessageList(subBuilder.buildPartial());
                        break;
                    }
                    }
                }
            }


            // repeated .notify.MessageList.Message messageList = 1;
            public java.util.List<com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message> getMessageListList() {
                return java.util.Collections.unmodifiableList(this.result.messageList_);
            }


            public int getMessageListCount() {
                return this.result.getMessageListCount();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message getMessageList(final int index) {
                return this.result.getMessageList(index);
            }


            public Builder setMessageList(final int index,
                    final com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.messageList_.set(index, value);
                return this;
            }


            public Builder setMessageList(final int index,
                    final com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message.Builder builderForValue) {
                this.result.messageList_.set(index, builderForValue.build());
                return this;
            }


            public Builder addMessageList(final com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                if (this.result.messageList_.isEmpty()) {
                    this.result.messageList_ =
                            new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message>();
                }
                this.result.messageList_.add(value);
                return this;
            }


            public Builder addMessageList(
                    final com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message.Builder builderForValue) {
                if (this.result.messageList_.isEmpty()) {
                    this.result.messageList_ =
                            new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message>();
                }
                this.result.messageList_.add(builderForValue.build());
                return this;
            }


            public Builder addAllMessageList(
                    final java.lang.Iterable<? extends com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message> values) {
                if (this.result.messageList_.isEmpty()) {
                    this.result.messageList_ =
                            new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message>();
                }
                super.addAll(values, this.result.messageList_);
                return this;
            }


            public Builder clearMessageList() {
                this.result.messageList_ = java.util.Collections.emptyList();
                return this;
            }

            // @@protoc_insertion_point(builder_scope:notify.MessageList)
        }

        static {
            defaultInstance = new MessageList(true);
            com.taobao.gecko.service.notify.NotifyProtos.internalForceInit();
            defaultInstance.initFields();
        }

        // @@protoc_insertion_point(class_scope:notify.MessageList)
    }

    public static final class MessageListAckHeader extends com.google.protobuf.GeneratedMessage {
        // Use MessageListAckHeader.newBuilder() to construct.
        private MessageListAckHeader() {
            this.initFields();
        }


        private MessageListAckHeader(final boolean noInit) {
        }

        private static final MessageListAckHeader defaultInstance;


        public static MessageListAckHeader getDefaultInstance() {
            return defaultInstance;
        }


        public MessageListAckHeader getDefaultInstanceForType() {
            return defaultInstance;
        }


        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_MessageListAckHeader_descriptor;
        }


        @Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.taobao.gecko.service.notify.NotifyProtos.internal_static_notify_MessageListAckHeader_fieldAccessorTable;
        }

        // repeated .notify.MessageAckHeader ackList = 1;
        public static final int ACKLIST_FIELD_NUMBER = 1;
        private java.util.List<com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader> ackList_ =
                java.util.Collections.emptyList();


        public java.util.List<com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader> getAckListList() {
            return this.ackList_;
        }


        public int getAckListCount() {
            return this.ackList_.size();
        }


        public com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader getAckList(final int index) {
            return this.ackList_.get(index);
        }


        private void initFields() {
        }


        @Override
        public final boolean isInitialized() {
            return true;
        }


        @Override
        public void writeTo(final com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            this.getSerializedSize();
            for (final com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader element : this.getAckListList()) {
                output.writeMessage(1, element);
            }
            this.getUnknownFields().writeTo(output);
        }

        private int memoizedSerializedSize = -1;


        @Override
        public int getSerializedSize() {
            int size = this.memoizedSerializedSize;
            if (size != -1) {
                return size;
            }

            size = 0;
            for (final com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader element : this.getAckListList()) {
                size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, element);
            }
            size += this.getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = size;
            return size;
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader parseFrom(
                final com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader parseFrom(
                final com.google.protobuf.ByteString data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader parseFrom(final byte[] data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader parseFrom(final byte[] data,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader parseFrom(
                final java.io.InputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader parseFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader parseDelimitedFrom(
                final java.io.InputStream input) throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader parseDelimitedFrom(
                final java.io.InputStream input, final com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            final Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                return builder.buildParsed();
            }
            else {
                return null;
            }
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader parseFrom(
                final com.google.protobuf.CodedInputStream input) throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }


        public static com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader parseFrom(
                final com.google.protobuf.CodedInputStream input,
                final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry).buildParsed();
        }


        public static Builder newBuilder() {
            return Builder.create();
        }


        public Builder newBuilderForType() {
            return newBuilder();
        }


        public static Builder newBuilder(
                final com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader prototype) {
            return newBuilder().mergeFrom(prototype);
        }


        public Builder toBuilder() {
            return newBuilder(this);
        }

        public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder> {
            private com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader result;


            // Construct using
            // com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader.newBuilder()
            private Builder() {
            }


            private static Builder create() {
                final Builder builder = new Builder();
                builder.result = new com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader();
                return builder;
            }


            @Override
            protected com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader internalGetResult() {
                return this.result;
            }


            @Override
            public Builder clear() {
                if (this.result == null) {
                    throw new IllegalStateException("Cannot call clear() after build().");
                }
                this.result = new com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader();
                return this;
            }


            @Override
            public Builder clone() {
                return create().mergeFrom(this.result);
            }


            @Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader.getDescriptor();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader getDefaultInstanceForType() {
                return com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader.getDefaultInstance();
            }


            @Override
            public boolean isInitialized() {
                return this.result.isInitialized();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader build() {
                if (this.result != null && !this.isInitialized()) {
                    throw newUninitializedMessageException(this.result);
                }
                return this.buildPartial();
            }


            private com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader buildParsed()
                    throws com.google.protobuf.InvalidProtocolBufferException {
                if (!this.isInitialized()) {
                    throw newUninitializedMessageException(this.result).asInvalidProtocolBufferException();
                }
                return this.buildPartial();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader buildPartial() {
                if (this.result == null) {
                    throw new IllegalStateException("build() has already been called on this Builder.");
                }
                if (this.result.ackList_ != java.util.Collections.EMPTY_LIST) {
                    this.result.ackList_ = java.util.Collections.unmodifiableList(this.result.ackList_);
                }
                final com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader returnMe = this.result;
                this.result = null;
                return returnMe;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.Message other) {
                if (other instanceof com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader) {
                    return this.mergeFrom((com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader) other);
                }
                else {
                    super.mergeFrom(other);
                    return this;
                }
            }


            public Builder mergeFrom(final com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader other) {
                if (other == com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader.getDefaultInstance()) {
                    return this;
                }
                if (!other.ackList_.isEmpty()) {
                    if (this.result.ackList_.isEmpty()) {
                        this.result.ackList_ =
                                new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader>();
                    }
                    this.result.ackList_.addAll(other.ackList_);
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
            }


            @Override
            public Builder mergeFrom(final com.google.protobuf.CodedInputStream input,
                    final com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
                final com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                        com.google.protobuf.UnknownFieldSet.newBuilder(this.getUnknownFields());
                while (true) {
                    final int tag = input.readTag();
                    switch (tag) {
                    case 0:
                        this.setUnknownFields(unknownFields.build());
                        return this;
                    default: {
                        if (!this.parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                            this.setUnknownFields(unknownFields.build());
                            return this;
                        }
                        break;
                    }
                    case 10: {
                        final com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader.Builder subBuilder =
                                com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader.newBuilder();
                        input.readMessage(subBuilder, extensionRegistry);
                        this.addAckList(subBuilder.buildPartial());
                        break;
                    }
                    }
                }
            }


            // repeated .notify.MessageAckHeader ackList = 1;
            public java.util.List<com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader> getAckListList() {
                return java.util.Collections.unmodifiableList(this.result.ackList_);
            }


            public int getAckListCount() {
                return this.result.getAckListCount();
            }


            public com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader getAckList(final int index) {
                return this.result.getAckList(index);
            }


            public Builder setAckList(final int index,
                    final com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                this.result.ackList_.set(index, value);
                return this;
            }


            public Builder setAckList(final int index,
                    final com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader.Builder builderForValue) {
                this.result.ackList_.set(index, builderForValue.build());
                return this;
            }


            public Builder addAckList(final com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                if (this.result.ackList_.isEmpty()) {
                    this.result.ackList_ =
                            new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader>();
                }
                this.result.ackList_.add(value);
                return this;
            }


            public Builder addAckList(
                    final com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader.Builder builderForValue) {
                if (this.result.ackList_.isEmpty()) {
                    this.result.ackList_ =
                            new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader>();
                }
                this.result.ackList_.add(builderForValue.build());
                return this;
            }


            public Builder addAllAckList(
                    final java.lang.Iterable<? extends com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader> values) {
                if (this.result.ackList_.isEmpty()) {
                    this.result.ackList_ =
                            new java.util.ArrayList<com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader>();
                }
                super.addAll(values, this.result.ackList_);
                return this;
            }


            public Builder clearAckList() {
                this.result.ackList_ = java.util.Collections.emptyList();
                return this;
            }

            // @@protoc_insertion_point(builder_scope:notify.MessageListAckHeader)
        }

        static {
            defaultInstance = new MessageListAckHeader(true);
            com.taobao.gecko.service.notify.NotifyProtos.internalForceInit();
            defaultInstance.initFields();
        }

        // @@protoc_insertion_point(class_scope:notify.MessageListAckHeader)
    }

    private static com.google.protobuf.Descriptors.Descriptor internal_static_notify_MapEntry_descriptor;
    private static com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_notify_MapEntry_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor internal_static_notify_ErrorMesssage_descriptor;
    private static com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_notify_ErrorMesssage_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor internal_static_notify_MessageHeader_descriptor;
    private static com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_notify_MessageHeader_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor internal_static_notify_MetaDataBody_descriptor;
    private static com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_notify_MetaDataBody_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor internal_static_notify_MetaDataBody_ClientInfo_descriptor;
    private static com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_notify_MetaDataBody_ClientInfo_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor internal_static_notify_MessageCommitRollbackHeader_descriptor;
    private static com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_notify_MessageCommitRollbackHeader_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor internal_static_notify_CheckMessageHeader_descriptor;
    private static com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_notify_CheckMessageHeader_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor internal_static_notify_CheckMessageAckHeader_descriptor;
    private static com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_notify_CheckMessageAckHeader_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor internal_static_notify_Subscription_descriptor;
    private static com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_notify_Subscription_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor internal_static_notify_MessageAckHeader_descriptor;
    private static com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_notify_MessageAckHeader_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor internal_static_notify_MessageList_descriptor;
    private static com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_notify_MessageList_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor internal_static_notify_MessageList_Message_descriptor;
    private static com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_notify_MessageList_Message_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor internal_static_notify_MessageListAckHeader_descriptor;
    private static com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_notify_MessageListAckHeader_fieldAccessorTable;


    public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
        return descriptor;
    }

    private static com.google.protobuf.Descriptors.FileDescriptor descriptor;
    static {
        final java.lang.String[] descriptorData =
                {
                 "\n\014notify.proto\022\006notify\"&\n\010MapEntry\022\013\n\003ke"
                         + "y\030\001 \002(\t\022\r\n\005value\030\002 \001(\t\"%\n\rErrorMesssage\022"
                         + "\024\n\014errorMessage\030\001 \002(\t\"\373\003\n\rMessageHeader\022"
                         + "\n\n\002id\030\001 \002(\014\022\014\n\004flag\030\002 \002(\005\022\r\n\005topic\030\003 \002(\t"
                         + "\022\023\n\013messageType\030\004 \002(\t\022\017\n\007groupId\030\005 \002(\t\022\021"
                         + "\n\tcommitted\030\006 \002(\010\022\020\n\010bornTime\030\007 \002(\004\022\020\n\010p"
                         + "riority\030\010 \002(\005\022\025\n\rdeliveryCount\030\t \001(\005\022\017\n\007"
                         + "version\030\n \001(\005\022\022\n\ntimeToLive\030\013 \001(\005\022\017\n\007dlq"
                         + "Time\030\014 \001(\005\022\023\n\013postTimeout\030\r \001(\005\022\025\n\rpostD"
                         + "elayTime\030\016 \001(\004\022\022\n\nGMTCreated\030\017 \001(\004\022\027\n\017GM",
                 "TLastDelivery\030\020 \001(\004\022\031\n\021publisherHostName"
                         + "\030\021 \001(\t\022\023\n\013targetGroup\030\022 \001(\t\022/\n\025userDefin"
                         + "edProperties\030\023 \003(\0132\020.notify.MapEntry\022\024\n\014"
                         + "replyToTopic\030\024 \001(\t\022\032\n\022replyToMessageType"
                         + "\030\025 \001(\t\022\017\n\007replyId\030\026 \001(\004\022\032\n\022replyWhenDeli"
                         + "vered\030\027 \001(\t\"\324\001\n\014MetaDataBody\0226\n\rclientIn"
                         + "foSet\030\001 \003(\0132\037.notify.MetaDataBody.Client"
                         + "Info\022)\n\017clientBuildInfo\030\002 \003(\0132\020.notify.M"
                         + "apEntry\032a\n\nClientInfo\022\r\n\005group\030\001 \002(\t\022\020\n\010"
                         + "hostName\030\002 \001(\t\022\014\n\004name\030\003 \001(\t\022\023\n\013descript",
                 "ion\030\004 \001(\t\022\017\n\007appName\030\005 \001(\t\"\337\001\n\033MessageCo"
                         + "mmitRollbackHeader\022\021\n\tmessageId\030\001 \002(\014\022\021\n"
                         + "\tcommitted\030\002 \002(\010\022\022\n\nserverData\030\003 \001(\014\022\025\n\r"
                         + "postDelayTime\030\004 \001(\004\022:\n\006status\030\005 \001(\0162*.no"
                         + "tify.MessageCommitRollbackHeader.Status\""
                         + "3\n\006Status\022\r\n\tCOMMITTED\020\001\022\014\n\010ROLLBACK\020\002\022\014"
                         + "\n\010NOACTION\020\003\"V\n\022CheckMessageHeader\022,\n\rme"
                         + "ssageHeader\030\001 \002(\0132\025.notify.MessageHeader"
                         + "\022\022\n\nserverData\030\002 \001(\014\"\312\001\n\025CheckMessageAck"
                         + "Header\022\021\n\tmessageId\030\001 \002(\014\0229\n\006result\030\002 \001(",
                 "\0162).notify.CheckMessageAckHeader.CheckRe"
                         + "sult\022\022\n\nserverData\030\003 \001(\014\022\025\n\rpostDelayTim"
                         + "e\030\004 \001(\004\"8\n\013CheckResult\022\r\n\tCOMMITTED\020\001\022\014\n"
                         + "\010ROLLBACK\020\002\022\014\n\010NOACTION\020\003\"\037\n\014Subscriptio"
                         + "n\022\017\n\007binding\030\001 \002(\t\"9\n\020MessageAckHeader\022\022"
                         + "\n\nserverData\030\001 \001(\014\022\021\n\tmessageId\030\002 \001(\014\"\206\001"
                         + "\n\013MessageList\0220\n\013messageList\030\001 \003(\0132\033.not"
                         + "ify.MessageList.Message\032E\n\007Message\022,\n\rme"
                         + "ssageHeader\030\001 \002(\0132\025.notify.MessageHeader"
                         + "\022\014\n\004body\030\002 \002(\014\"A\n\024MessageListAckHeader\022)",
                 "\n\007ackList\030\001 \003(\0132\030.notify.MessageAckHeade"
                         + "rB@\n.com.taobao.notify.remoting.core.com" + "mand.protosB\014NotifyProtosH\001" };
        final com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
                new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
                    public com.google.protobuf.ExtensionRegistry assignDescriptors(
                            final com.google.protobuf.Descriptors.FileDescriptor root) {
                        descriptor = root;
                        internal_static_notify_MapEntry_descriptor = getDescriptor().getMessageTypes().get(0);
                        internal_static_notify_MapEntry_fieldAccessorTable =
                                new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                    internal_static_notify_MapEntry_descriptor, new java.lang.String[] { "Key",
                                                                                                        "Value", },
                                    com.taobao.gecko.service.notify.NotifyProtos.MapEntry.class,
                                    com.taobao.gecko.service.notify.NotifyProtos.MapEntry.Builder.class);
                        internal_static_notify_ErrorMesssage_descriptor = getDescriptor().getMessageTypes().get(1);
                        internal_static_notify_ErrorMesssage_fieldAccessorTable =
                                new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                    internal_static_notify_ErrorMesssage_descriptor,
                                    new java.lang.String[] { "ErrorMessage", },
                                    com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage.class,
                                    com.taobao.gecko.service.notify.NotifyProtos.ErrorMesssage.Builder.class);
                        internal_static_notify_MessageHeader_descriptor = getDescriptor().getMessageTypes().get(2);
                        internal_static_notify_MessageHeader_fieldAccessorTable =
                                new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                    internal_static_notify_MessageHeader_descriptor,
                                    new java.lang.String[] { "Id", "Flag", "Topic", "MessageType", "GroupId",
                                                            "Committed", "BornTime", "Priority", "DeliveryCount",
                                                            "Version", "TimeToLive", "DlqTime", "PostTimeout",
                                                            "PostDelayTime", "GMTCreated", "GMTLastDelivery",
                                                            "PublisherHostName", "TargetGroup",
                                                            "UserDefinedProperties", "ReplyToTopic",
                                                            "ReplyToMessageType", "ReplyId", "ReplyWhenDelivered", },
                                    com.taobao.gecko.service.notify.NotifyProtos.MessageHeader.class,
                                    com.taobao.gecko.service.notify.NotifyProtos.MessageHeader.Builder.class);
                        internal_static_notify_MetaDataBody_descriptor = getDescriptor().getMessageTypes().get(3);
                        internal_static_notify_MetaDataBody_fieldAccessorTable =
                                new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                    internal_static_notify_MetaDataBody_descriptor,
                                    new java.lang.String[] { "ClientInfoSet", "ClientBuildInfo", },
                                    com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.class,
                                    com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.Builder.class);
                        internal_static_notify_MetaDataBody_ClientInfo_descriptor =
                                internal_static_notify_MetaDataBody_descriptor.getNestedTypes().get(0);
                        internal_static_notify_MetaDataBody_ClientInfo_fieldAccessorTable =
                                new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                    internal_static_notify_MetaDataBody_ClientInfo_descriptor,
                                    new java.lang.String[] { "Group", "HostName", "Name", "Description", "AppName", },
                                    com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo.class,
                                    com.taobao.gecko.service.notify.NotifyProtos.MetaDataBody.ClientInfo.Builder.class);
                        internal_static_notify_MessageCommitRollbackHeader_descriptor =
                                getDescriptor().getMessageTypes().get(4);
                        internal_static_notify_MessageCommitRollbackHeader_fieldAccessorTable =
                                new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                    internal_static_notify_MessageCommitRollbackHeader_descriptor,
                                    new java.lang.String[] { "MessageId", "Committed", "ServerData", "PostDelayTime",
                                                            "Status", },
                                    com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader.class,
                                    com.taobao.gecko.service.notify.NotifyProtos.MessageCommitRollbackHeader.Builder.class);
                        internal_static_notify_CheckMessageHeader_descriptor = getDescriptor().getMessageTypes().get(5);
                        internal_static_notify_CheckMessageHeader_fieldAccessorTable =
                                new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                    internal_static_notify_CheckMessageHeader_descriptor,
                                    new java.lang.String[] { "MessageHeader", "ServerData", },
                                    com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader.class,
                                    com.taobao.gecko.service.notify.NotifyProtos.CheckMessageHeader.Builder.class);
                        internal_static_notify_CheckMessageAckHeader_descriptor =
                                getDescriptor().getMessageTypes().get(6);
                        internal_static_notify_CheckMessageAckHeader_fieldAccessorTable =
                                new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                    internal_static_notify_CheckMessageAckHeader_descriptor,
                                    new java.lang.String[] { "MessageId", "Result", "ServerData", "PostDelayTime", },
                                    com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader.class,
                                    com.taobao.gecko.service.notify.NotifyProtos.CheckMessageAckHeader.Builder.class);
                        internal_static_notify_Subscription_descriptor = getDescriptor().getMessageTypes().get(7);
                        internal_static_notify_Subscription_fieldAccessorTable =
                                new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                    internal_static_notify_Subscription_descriptor,
                                    new java.lang.String[] { "Binding", },
                                    com.taobao.gecko.service.notify.NotifyProtos.Subscription.class,
                                    com.taobao.gecko.service.notify.NotifyProtos.Subscription.Builder.class);
                        internal_static_notify_MessageAckHeader_descriptor = getDescriptor().getMessageTypes().get(8);
                        internal_static_notify_MessageAckHeader_fieldAccessorTable =
                                new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                    internal_static_notify_MessageAckHeader_descriptor,
                                    new java.lang.String[] { "ServerData", "MessageId", },
                                    com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader.class,
                                    com.taobao.gecko.service.notify.NotifyProtos.MessageAckHeader.Builder.class);
                        internal_static_notify_MessageList_descriptor = getDescriptor().getMessageTypes().get(9);
                        internal_static_notify_MessageList_fieldAccessorTable =
                                new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                    internal_static_notify_MessageList_descriptor,
                                    new java.lang.String[] { "MessageList", },
                                    com.taobao.gecko.service.notify.NotifyProtos.MessageList.class,
                                    com.taobao.gecko.service.notify.NotifyProtos.MessageList.Builder.class);
                        internal_static_notify_MessageList_Message_descriptor =
                                internal_static_notify_MessageList_descriptor.getNestedTypes().get(0);
                        internal_static_notify_MessageList_Message_fieldAccessorTable =
                                new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                    internal_static_notify_MessageList_Message_descriptor,
                                    new java.lang.String[] { "MessageHeader", "Body", },
                                    com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message.class,
                                    com.taobao.gecko.service.notify.NotifyProtos.MessageList.Message.Builder.class);
                        internal_static_notify_MessageListAckHeader_descriptor =
                                getDescriptor().getMessageTypes().get(10);
                        internal_static_notify_MessageListAckHeader_fieldAccessorTable =
                                new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                    internal_static_notify_MessageListAckHeader_descriptor,
                                    new java.lang.String[] { "AckList", },
                                    com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader.class,
                                    com.taobao.gecko.service.notify.NotifyProtos.MessageListAckHeader.Builder.class);
                        return null;
                    }
                };
        com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(descriptorData,
            new com.google.protobuf.Descriptors.FileDescriptor[] {}, assigner);
    }


    public static void internalForceInit() {
    }

    // @@protoc_insertion_point(outer_class_scope)
}